私はcshエイリアスに相当するbashを作成しようとしています。 CSHでかなり単純なエイリアスです:bashで変数を設定するcshエイリアスのbash相当版を作成するには
alias gfiles='files="\`grep -l \\!*\`"; echo $files'
別名があるため、パラメータ置換の動作しません、それは親シェルで変数を設定する必要があるため、機能が動作しません。 このエイリアスを使用すると、viまたはls以上の一致するファイルを表示できます。エコーは絶対に必要なわけではありませんが、私はそれが有用であることを発見しました。 bashで同等の機能を実行するにはどうすればよいですか?
えっ?関数は呼び出し側で絶対に変数を設定できます。彼らはそれを強制する何かをしない限り、サブプロセスで実行されません。 –
と言っていますが、**スカラー変数**(単一文字列)を使用してファイル名の**リスト**を格納しています(それぞれが文字列です)。スペースで名前を格納する必要がある場合はどうなりますか?適切な方法はアレイを使用することです。 –