
次のような bash スクリプトを記述できることはわかっています:
foo() {
echo $1;
}
しかし、次のように記述する関数を定義できますか:
foo(string) {
echo $string;
}
どうしてもこの状況から抜け出す方法が見つからないんです。
答え1
利用可能な形式は最初の形式のみです。詳細はマニュアルをご覧ください。
名前付きパラメータを使用するには、関数の先頭でパラメータを割り当てるのが従来の手法です。
foo() {
string=$1
# ...
echo "${string}"
}