if else bash 文の構文

if else bash 文の構文

したがって、何らかの理由で認知テストステートメントをどのように変更し、何をすべきかわからない場合でも、常に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

おすすめ記事