キーボードから文字を読み取って大文字に変換し、その文字を再度表示しています。しかし、これはエラーを示しています。これどうやってするの。
私のコード:-
read a;
a=echo $a | tr 'a-z' 'A-Z'
echo $a
私もこれを試しました:-
read option;
eval $(awk -v option=$option '{print "a="toupper(option);}')
echo $a
の結果を に保存したい場合はa
、コマンド置換a
を使用できます。
read a;
a=$(echo $a | tr 'a-z' 'A-Z')
echo $a
bash
これは、次のようにネイティブに実行できます。
read a;
a="${a^^}"
echo "$a"
のような他のコマンドを呼び出す必要はありません。これ自体で実行できるtr
からです。bash
コマンド置換を使用する:
a=`echo $a | tr 'a-z' 'A-Z'`
echoとtrの周りの目盛り`に注意してください。
awk
ここに行くのは間違った方法ですが、これを行うことができる1つの方法があります。
a=$(awk 'BEGIN { getline; print toupper($0) }')
echo $a
取得できませんでした
a=`echo $a | tr 'a-z' 'A-Z'`
働きますが、
a=`echo $a | tr '[a-z]' '[A-Z]'`
しました (追加の正規表現 [] 括弧に注意してください
。/usr/bin/sh スクリプト内では、これは次のように機能しました
...
while getopts ":l:c:" option; do
case "$option"
in
l) L_OPT=`echo ${OPTARG}| tr '[a-z]' '[A-Z]'`
;;
c) C_OPT=`echo ${OPTARG} | tr '[a-z]' [A-Z]'`
;;
\?)
echo $USAGE
exit 1
;;
esac
done
...