エコーから入力を再度読み取る方法

エコーから入力を再度読み取る方法

こんにちは、私はbashスクリプトが初めてです。

サーバー上のファイルを確認するスクリプトを作成しようとしましたが、新しい生徒の名前を要求しません。入力内容を再度読み取るにはどうすればよいですか?また、ファイルからサーバー名を取得するようにどのように指示しますか?

while read -p 'Enter the ip address for the server: ' ip_addr && [[ -z "$ip_addr" ]] ; do
 echo "No-no, please, no blank IP address!"
done

while [[ !  "$ip_addr" =~ ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$ ]]; do
    read -p "No-no not an valid IP. Re-enter: " ip_addr
done

while read -p 'Enter the student name: ' student_name && [[ -z "$student_name" ]] ; do
 echo "No-no, please, no blank student Name!"
done


while read -s -p 'Enter password: ' password && [[ -z "$password" ]] ; do
 echo "No-no, please, no blank passwords!"
done

y=$student_name
x=$y
####################################################################

sshpass -p "$password" ssh -o StrictHostKeyChecking=no $ip_addr "x=$y"  /bin/bash << "EOF"
                        sudo su - $x


ls -lrth ~/$USER/*DAT* | tail -10

pwd

ls -lrth ~/$USER/*PDF* | tail -10


##############################


while read -p 'Enter New student  Name: ' new_student _name && [[ -z "$new_student_name" ]] ; do
 echo "No-no, please, no blank student name!"
done

cat /opt/$USER/$new_student_name.txt

exit 0

fi

EOF

ベストアンサー1

あなたは並んで待っている間、1ドルを忘れました。

cat /opt/$USER/$new_student_name.txt

おすすめ記事