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

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

SOを検索した結果、次の文字列を大文字として使用することが機能することがわかりました。

str="Some string"
echo ${str^^}

しかし、コマンドライン引数で同様の操作を試みましたが、次のエラーが発生しました。

試験を終えた

#!/bin/bash
             ## Output
echo ${1^^}  ## line 3: ${1^^}: bad substitution
echo {$1^^}  ## No error, but output was still smaller case i.e. no effect

どうすればいいですか?

ベストアンサー1

試す構文は、str^^Bash 4.0以降で使用できます。バージョンが古い可能性があります(または明示的にスクリプトを実行しましたsh)。

この試み:

str="Some string"
printf '%s\n' "$str" | awk '{ print toupper($0) }'

おすすめ記事