Bashのこの構造は何ですか? mycommand(){何かしてください;}

Bashのこの構造は何ですか? mycommand(){何かしてください;}

実際、commandfu.comで次の文を見つけました。

cmdfu(){ curl "http://www.commandlinefu.com/commands/matching/$@/$(echo -n $@ | openssl base64)/plaintext"; }()以前は、bashで同様の使い方を見たことがありませんでした。

cmdfuBash環境で一時コマンドを生成するようです。私はここにいますか?それとも実際にどこかに保存されていますか?この構造に名前がありますか?それで、私は読むことができますか?

ベストアンサー1

これはシェル関数です。コマンドラインから生成すると、現在のシェル呼び出し内にのみ存在します。シェル起動ファイル(.bashrc、.bash_profileなど)に定義を追加して「永続」にすることができます。

マンページで「Shell Function Definitions」を検索すると、bash(1)シェル関数を定義する構文が表示されます。関数セクションでは、関数自体について詳しく説明します。

おすすめ記事