1
私はいくつかの簡単なbashスクリプトを試していますが、プログラムが文字char
を読み取る簡単な比較スクリプトに取り組んでいて、 "Y"か "y" YES "であり、" N "または" n "であれば" NO "である。文字Y、y、N、nは入力として使用される唯一の文字です。条件が問題の場合はBash
#!/bin/sh
read char
if (($char = "Y")) || (($char = "y"))
then
echo "YES"
else
echo "NO"
fi
上記のスクリプトは、Yまたはyで動作しますが、私は入れてNまたはNしようとすると、それはまだ「YES」印刷し、私は私が間違っているのかを把握しようとしています。
if [ "$char" == "Y" ] || [ "$char" == "y" ]
のように、かっこで構文を使用すると、かっこで行うことがわかります。 私は
if (("$char" = "Y")) || (("$char" = "y"))
または
if (($char == "Y")) || (($char == "y"))
または
if (("$char" == "Y")) || (("$char" == "y"))
または
if (("$char" == "Y" || "$char" == "y"))
のように、括弧のためのすべての組み合わせを試してみましたが、それらのどれも動作しません。 私が作っている間違いは何ですか?
を 'sh'は'あなたが正しい – Cyrus
bash'されていません。私は元の投稿でそれを変更する必要がありますか? – Ioannis