したがって、何らかの理由で認知テストステートメントをどのように変更し、何をすべきかわからない場合でも、常にsshまたは「ok」を返します。以下にコードを残しました。
echo 'Wanna connect to the raspberry pi? (y/n)'
read $sssh
if [[ $sssh == "y" ]]
then
ssh [email protected]
else
echo 'ok'
fi
答え1
ユーティリティread
には引数として変数名が必要です。を使用すると、名前の代わりにread $sssh
変数の値を割り当てることができます。sssh
私はあなたがそのsssh
変数を読みたいと仮定しています。この場合はread sssh
。
変更されたスクリプト(ユーザーが有効な入力を提供するまで繰り返される読み取りループを含む):
#!/bin/bash
while true; do
read -p 'Connect to RPi? (y/n): ' yesno
case $yesno in
y) ssh ...; break ;;
n) echo ok; break ;;
*) echo invalid input >&2
esac
fi
またはこれ以上、
#!/bin/bash
while true; do
read -p 'Connect to RPi? (y/n): ' yesno
if [[ $yesno == 'y' ]]; then
ssh ...
break
elif [[ $yesno == 'n' ]]; then
echo ok
break
fi
echo invalid input >&2
fi