[!set] zsh で履歴拡張を呼び出すとき

[!set] zsh で履歴拡張を呼び出すとき

ファイルを検索するとき

ls [a-t]est.txt

test.txt期待した結果を提供します。

しかし、私が使うとき

ls [!a-g]est.txt

出力は次のとおりですls [aptg]est.txt

[!set]の他の例:

  • ls [!b-z]est.txt返品[bbz]est.txt
  • ls [!g-h]est.txt返品ls [git clone --depth=1h]est.txt

私のzshに問題がありますか?それとも[!set]はzshとは異なる動作をしますか?


マシンはLinux Mint 18.2です。

ベストアンサー1

Steeldriverが提案したように、代わりにmake [!set]を^実行すると!問題が解決します。

その理由は、履歴拡張がzshで!実行されるためです。これが発生しないようにするには、履歴拡張を無効にしてください。これを行うには、setopt nobanghistコマンドラインから実行してください。

おすすめ記事