사용자 입력이 예상되는 중첩 된 사례 진술을 작성하려고합니다 (Y / N). 그러나 시스템은 입력을 기다리지 않으며 항상 "예 또는 아니오로 응답하십시오"라는 세 번째 옵션으로 이동합니다. 누구든지 내가 빠진 것을 말해 줄 수 있습니까?
사례 진술은 다음과 같습니다.
#!/bin/bash
STATUS=status
find /etc/init.d/* -name '*' -print0 | while IFS= read -r -d '' FILE;
do
if [ "$FILE" != "." -o "$FILE" != ".." ]; then
OUTPUT=$($FILE $STATUS)
case "$OUTPUT" in
*disabled* )
echo "Do you wish to start $FILE ?"
read yn
case $yn in
[yY] | [yY][Ee][Ss] )
$FILE start
;;
[nN] | [n|N][O|o] )
;;
* )
echo "Please answer yes or no.";;
esac
;;
* )
echo "App $FILE is running"
;;
esac
fi
done
우분투 14.04 LTS에서 실행
샘플 출력
App /etc/init.d/reboot is running
App /etc/init.d/resolvconf is running
App /etc/init.d/rsync is running
App /etc/init.d/rsyslog is running
App /etc/init.d/samba is running
App /etc/init.d/samba-ad-dc is running
Do you wish to start /etc/init.d/saned ?
Please answer yes or no.