테스트, 개발, 프로덕션이라는 세 가지 환경이 있습니다. 사용자가 테스트에 들어가면 ftp
호스트와 ftp
파일을 테스트해야 합니다. 개발과 생산 모두 상황은 동일하다. 방금 테스트하려고 했는데 오류가 발생했습니다.Error message - dummy.sh: line 29: syntax error: unexpected end of file
!/bin/bash
while :
do
read -r INPUT_STRING
case $INPUT_STRING in
test)
echo "Please enter id no : "
read -r input_variable
if [[ ${#input_variable} -ne "7" ]]
then
echo "Please check the id no given"
exit 1
fi
HOST=xxx
USER=xxx
PASSWORD=xxx
^Iftp -inv $HOST <<- EOF
user $USER $PASSWORD
cd /work/path//$input_variable/to/destination/
mput x.csv
^IEOF
;;
esac
done
답변1
들여쓰기를 사용하고 싶을 때 <<-EOF
대신 사용하세요. <<EOF
그런 다음 탭으로 텍스트를 들여씁니다.
EOF
마지막으로 여기에서 문서의 끝을 표시 해야 합니다 .
코드 블록은 다음과 같습니다.
ftp -inv $HOST <<-EOF
user $USER $PASSWORD
cd /work/test//$input_variable/path/to destination/
mput x.csv
EOF
당신은 또한 볼 수 있습니다http://www.tldp.org/LDP/abs/html/here-docs.html, 자세한 내용은 예제 19.4를 참조하세요.