다음 스크립트를 파일에 저장하고 alias
사용자의 파일에 스크립트를 만든 bashrc
다음 파일을 가져옵니다 bashrc
.
#!/bin/bash
domain="$1" && test -z "$domain" && exit 2
environment() {
read -sp "Please enter the app DB root password:" dbrootp_1 && echo
read -sp "Please enter the app DB root password again:" dbrootp_2 && echo
if [ "$dbrootp_1" != "$dbrootp_2" ]; then echo "Values unmatched. Please try again." && exit 2 fi
read -sp "Please enter the app DB user password:" dbuserp_1 && echo
read -sp "Please enter the app DB user password again:" dbuserp_2 && echo
if [ "$dbuserp_1" != "$dbuserp_2" ]; then echo "Values unmatched. Please try again." && exit 2 fi
}
environment
실행하면 alias domain
다음과 같은 결과가 나타납니다.
+ /user/nwsm/nwsm.sh x
/user/nwsm/nwsm.sh: line 12: syntax error near unexpected token `}'
user/nwsm/nwsm.sh: line 12: `}'
구문 오류가 발생하는 이유는 무엇입니까? 구문 오류를 찾지 못했습니다. 너? 어쩌면 또 다른 문제가 있을 수도 있습니다.
Nano(또는 Visual Studio Code)에 외계인 문자가 표시되지 않습니다.
답변1
(문 끝) ;
앞에 2개의 세미콜론()이 누락된 것 같습니다.fi
if
다음은 올바른 if-then 문입니다.
if [ "$dbrootp_1" != "$dbrootp_2" ]; then echo "Values unmatched. Please try again." && exit 2; fi
if [ "$dbrootp_1" != "$dbrootp_2" ]; then echo "Values unmatched. Please try again." && exit 2; fi
fi
각 줄 끝 부분에 앞에 있는 세미콜론을 확인하세요.
stderr의 Bash 오류가 다음과 같은 경우"6행과 10행에는 세미콜론이 있어야 합니다.", 질문과 답변을 게시하지 못할 수도 있습니다.
JavaScript로 Bash if-then 문을 작성하는 것은 생각보다 좀 더 장황한 것 같습니다.