Shell
sh:有沒有互動式編輯密碼的命令?
我正在尋找一個呼叫
readline
或類似的命令,以 current為起始$PWD
,讓使用者編輯目前目錄,然後cd
編輯到編輯值。例如> cd ~/a/b/c/d > pwd > /home/alice/a/b/c/d
然後執行建議的
icd
命令(對於“互動式cd
”,受imv
renameutils啟發)。它提示使用者如下:> icd icd> /home/alice/a/b/c/d
然後使用者可以,例如按 Alt-b、Alt-b、Alt-t,導致:
icd> /home/alice/a/c/b/d
(Alt-t 轉置
b
和c
)按 Enter 後,該
icd
命令將目前目錄更改為/home/alice/a/c/b/d
.理想情況下
icd
會有一些自動完成功能。甚至可以直覺地指示目前值是否為現有/有效目錄。這幾乎可以通過鍵入在 zsh 中完成
> cd `pwd`
然後按 Tab。但是像這樣的命令
icd
會節省擊鍵。
For
bash
和任何其他支持readline
您的 shell 都可以使用此功能icd() { local a; read -ei "${1:-$PWD}" -p "$FUNCNAME> " a && cd "$a"; }
用法
icd # Starts editing with $PWD icd /root # Starts editing with /root
至少可以在 zsh 中完成。fzf 內置了類似的東西,您可以在其中
Alt+C
通過模糊選擇按 cd 進入目錄:而不是 fzf,大概可以使用您提出的
icd
工具。我不相信它可以以符合 POSIX 的方式完成。