Shell

sh:有沒有互動式編輯密碼的命令?

  • May 18, 2020

我正在尋找一個呼叫readline或類似的命令,以 current為起始$PWD,讓使用者編輯目前目錄,然後cd編輯到編輯值。例如

> cd ~/a/b/c/d
> pwd
> /home/alice/a/b/c/d

然後執行建議的icd命令(對於“互動式cd”,受 imvrenameutils啟發)。它提示使用者如下:

> icd
icd> /home/alice/a/b/c/d

然後使用者可以,例如按 Alt-b、Alt-b、Alt-t,導致:

icd> /home/alice/a/c/b/d

(Alt-t 轉置bc

按 Enter 後,該icd命令將目前目錄更改為/home/alice/a/c/b/d.

理想情況下icd會有一些自動完成功能。甚至可以直覺地指示目前值是否為現有/有效目錄。

這幾乎可以通過鍵入在 zsh 中完成

> cd `pwd`

然後按 Tab。但是像這樣的命令icd會節省擊鍵。

相關:互動式 cd(目錄瀏覽器)

Forbash和任何其他支持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 的方式完成。

引用自:https://unix.stackexchange.com/questions/529636