${!#} Bashで最後のコマンドライン引数を取得するには?

${!#} Bashで最後のコマンドライン引数を取得するには?

高度なBashスクリプトガイドで最後のコマンドライン引数を取得します。

または:lastarg=${!#} これ 間接参照$#変数に。
これはlastarg=${!$#}うまくいきません。

答え1

言ったように、これは間接的な参照です。たとえば、

$ var=test
$ test='Hello, world'
$ echo ${!var}
Hello, world

次の位置パラメータを設定するには、次の手順を実行します。

$ set -- one two three

$#位置引数の総数を示します。

$ echo $#
3

これは、私が言ったように、それを呼び出すときに${!#}次のパラメータの値が提供されることを意味します3

$ echo ${!#}
three

関連情報