文字列比較の大文字と小文字を区別しないようにBourneシェルを作成する方法はありますか?または、変数をすべて小文字に変換できますか?
エコーでtrを使用しようとしましたが、変数を上書きすることができませんでした。
文字列比較の大文字と小文字を区別しないようにBourneシェルを作成する方法はありますか?または、変数をすべて小文字に変換できますか?
エコーでtrを使用しようとしましたが、変数を上書きすることができませんでした。
試してみました
MYVAR="This is a Test."
MYVAR=$(echo $MYVAR | tr '[:upper:]' '[:lower:]')
echo $MYVAR
結果は
this is a test.
与えられた答えはbashに対するものであり、 $(...)構造を知らない Bourne シェルに対するものではないことに
注意してください。また、trクラスupper、lowerなどは、すべての tr 実装に存在するわけではありません。使用しているプラットフォームによって異なります (Solaris では、/usr/bin/tr の代わりに /usr/xpg4/bin/tr を使用します)。古典的な tr回答を持つ
適切なBourne シェルは次のとおりです。
MYVAR=`echo "$MYVAR" | tr '[A-Z]' '[a-z]'`
あなたは与えられた答えに満足しているので、大丈夫です.bashの遍在性を考えると、ほとんどの読者にとってはおそらく問題ありません.
ただし、質問に正しくタグを付ける必要があります: bourne-shell は誤解を招くものです。