에코에서 입력을 다시 읽는 방법

에코에서 입력을 다시 읽는 방법

안녕하세요, 저는 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

관련 정보