想法#
目前有一個想法,就是在命令行下管理腳本的工具。
例如說我有一些常用的腳本:
cd $(find . -name "*" -type d | fzf)
然後通過命令行添加
cli load "cd $(find . -name "*" -type d | fzf)" -alias cdf
然後使用 cdf 進行運行
cli cdf
後續#
2022-10-18 22:47
剛剛找到了一個跟我這個想法很契合的項目: https://github.com/denisidoro/navi.
今天一晚上都在調研技術的可行性,但是都達不到我想要的效果。還是這個例子,cd $(find . -name "*" -type d | fzf)
,
主要有兩種思路:
- 在運行程序的使用利用 shell 的 tab 鍵盤補全,直接替換成這段命令,然後運行。比如說程序叫
qwe
,在 shell 裡面輸入qwe cdf<TAB>
,然後就直接替換為上面的命令。我在 go 裡面找到cobra
這個包,它能動態補全命令,有點效果,但還不夠,不能做到全部替換,遂擱置。 - 直接在程序裡面運行這段命令,我試了之後還是不行,
cd
執行後沒有生效,應該還是跟fork
有關。
然後就到 github 裡面找別人的實現,沒想到找到了一個,但是試過之後還是不支持,但確實做的還不錯。
想要做成我想要的效果就是實現:
- 在 shell 中補全能直接替換所有,而不是一段。
- 在程序中不用
fork
運行。
還需要再看看。