Bashスクリプトのコマンドラインパラメータは大文字です。

Bashスクリプトのコマンドラインパラメータは大文字です。

Bashシェルでこれを行うことができる場合:

$ STRING="A String"
$ echo ${STRING^^}
A STRING

コマンドラインパラメータを大文字に変更するには?

私は試した:

GUARD=${1^^}

この生産ラインは誤った交換この行にエラーがあります。

ベストアンサー1

このテストスクリプトから始めましょう。

$ cat script.sh 
GUARD=${1^^}
echo $GUARD

これは働きます:

$ bash script.sh abc
ABC

これはうまくいきません:

$ sh script.sh abc
script.sh: 1: script.sh: Bad substitution

これは、私のシステムでは、ほとんどのDebianのようなシステムと同様に、デフォルトのシェルは次のようになるから/bin/shです。いいえ吹く。 Bash機能を取得するには、bashを明示的に呼び出す必要があります。

Debianシリーズシステムのデフォルトシェルは、機能ではdashなく速度のために選択されました。サポートされていません^^。何をサポートしているのかを知るには、次を読んでくださいman dash

おすすめ記事