2
は、私たちがこのような環境があるとします。ボックスのうち環境変数のより人間的な完了が必要
mkdir -p /tmp/foo/bar/
export TEST=/tmp/foo
を、$のTESTのbashの補完が非常に矛盾しています。証人:→
$ cd $TES<Tab> → $ cd $TEST<cursor>
$ cd $TEST<Tab> → $ cd $TEST<cursor>
$ cd $TEST/<Tab> → $ cd $TEST/<cursor>
$ cd $TEST/b<Tab> → $ cd $TEST/b<cursor> # no actual completion!
$ ls $TES<Tab> → $ ls $TES<cursor> # no actual completion!
$ ls $TEST<Tab> → $ ls $TEST<cursor> # same
$ ls $TEST/<Tab> → $ ls /tmp/foo/bar/<cursor> # expands var, annoying!
$ echo $TES<Tab> → $ echo $TEST <cursor> # with a space, annoying!
$ echo $TEST<Tab> → $ echo $TEST <cursor> # same
$ echo $TEST/<Tab> → $ echo /tmp/foo/bar/<cursor> # expands var, annoying!
方法などでこれを比較tcshは、$TES
〜$TEST/
($TEST
がディレクトリ名に展開されている場合)または$TEST
(完了していない場合)を完了し、何も展開しないことを常に完了しています。それは、私の傲慢な意見では、正しいことです、そして、bashは完全に間違っています。
質問は明らかです。 bashに正しいことをさせることは可能でしょうかもしそうなら、どうですか?私はmanualを理解しようとしましたが、多くの成功はありませんでした。
bashの書き換え部分。 –
zshを試してみてください。基本的な使い方については、おそらくbashとの違いは見当たりません。 zshは、あなたが望むことをするように簡単に設定できます。 –