Bashで動作しないファイルを見つけるためのエイリアス

Bashで動作しないファイルを見つけるためのエイリアス

ファイルを見つけるための次のエイリアスはtcshでは機能しますが、bashでは機能しません。

alias ff "find . -name '*\!{*}*' -ls"

上記の行を.bashrcに入れてインポ​​ートすると、次のような結果が表示されます。

bash-3.2$ source .bashrc
bash: alias: ff: not found
bash: alias: find . -name '*\!{*}*' -ls: not found

エイリアスを定義しましたが、エイリアスの後に等号を入れると、上記のエラーは消えますが、期待どおりに機能しません。

 alias ff="find . -name '*\!{*}*' -ls" 

これでファイルをインポートすると、以前のエラーは消えますが、コマンドは期待findどおりに機能しません。

 bash-3.2$ source .bashrc
 bash-3.2$ ff somefile
 find: paths must precede expression
 Usage: find [-H] [-L] [-P] [path...] [expression]

ベストアンサー1

Bashのエイリアスは引数を処理できません。パラメータを処理する必要がある場合は、代わりに関数を使用してください。

ff () { find . -name "*$1*" -ls ; }

おすすめ記事