テスト、開発、プロダクションという3つの環境があります。ユーザーがテストに入ったら、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を参照してください。