ユーザー入力に基づいて部屋の2つの面積をユーザーに知らせるスクリプトがあります。私はこの部分が正しいと思います。私が経験している問題は、どの部屋が大きいかをスクリプトで話すようにする必要があるということです。スクリプトの終わりをどのように再構成しようとしても、2つの応答があります。そのうちの1つは、ユーザーが幸運でない限り間違っています。応答がありません。正しい出力を得るには、スクリプトのこの部分をどのように変更しますか?作業部分と私が質問した内容をスキップしたい人のために、それに対する答えとして残りのスクリプトを置きます。また、これは私のUnix入門プロセスの宿題でした。
if [ $R1z -ge $R2z]
then
echo Room 1 is bigger
else
echo Room 2 is bigger
fi
すべてのコード:
echo Enter the length of room 1
read R1x
echo Enter the width of room 1
read R1y
echo Enter the length of room 1
read R2x
echo Enter the width of room 2
read R2y
expr $R1x \* $R1y
read R1z
expr $R2x \* $R2y
read R2z
if [ $R1z -ge $R2z]
then
echo Room 1 is bigger
else
echo Room 2 is bigger
fi
ベストアンサー1
スクリプトを貼り付けるときにタイプミスがありました。
expr $R2x \*$ R2y
読む必要があります
expr $R2x \* $R2y
また、上部に以下を入れる必要があります。
#!/bin/bash
正しいシェルを使用して実行されていることを確認してください。役に立つ操作は行われず、expr
結果はR1zまたはR2zに読み込まれません。あなたがしたいことは次のとおりです。
#!/bin/bash
echo Enter the length of room 1
read R1x
echo Enter the width of room 1
read R1y
echo Enter the length of room 1
read R2x
echo Enter the width of room 2
read R2y
R1z=$(expr $R1x \* $R1y)
R2z=$(expr $R2x \* $R2y)
if [ $R1z -ge $R2z ]
then
echo Room 1 is bigger
else
echo Room 2 is bigger
fi