![${#}はシェルスクリプトで何を意味しますか? [重複]](https://linux33.com/image/189743/%24%7B%23%7D%E3%81%AF%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%A7%E4%BD%95%E3%82%92%E6%84%8F%E5%91%B3%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%87%8D%E8%A4%87%5D.png)
シェルスクリプトで${#}が実際に意味するものへの参照が見つかりません。おおよその推測は、呼び出しに渡された最後の変数を意味しますが、完全にはわかりません。
答え1
いいえ、位置パラメータの数、と同じです$#
。たとえば、次のscript.sh
#!/usr/bin/env sh
echo ${#}
以下を印刷します。
$ ./script.sh arg1 arg2 arg3
3
$ ./script.sh arg1 arg2 arg3 arg4
4
シェルスクリプトで${#}が実際に意味するものへの参照が見つかりません。おおよその推測は、呼び出しに渡された最後の変数を意味しますが、完全にはわかりません。
いいえ、位置パラメータの数、と同じです$#
。たとえば、次のscript.sh
#!/usr/bin/env sh
echo ${#}
以下を印刷します。
$ ./script.sh arg1 arg2 arg3
3
$ ./script.sh arg1 arg2 arg3 arg4
4