【发布时间】:2017-10-22 12:35:55
【问题描述】:
我正在 iOS X 上创建一个 Bash 脚本文件,询问用户是否愿意将文件上传到服务器。 sftp 命令(带定界符)在 if 语句之外工作正常,但是当我将 sftp 命令(带定界符)放在 if 语句中时,我收到以下错误消息:“upload.sh:line nnn:语法错误:意外结束文件”
printf "Upload file? [y]es?"
read -r input1
if [ $input1 == "y" ] || [ $input1 == "yes" ]; then
sftp -i key.txt user@server << DELIMITER
put local/path/to/file /server/upload/dir
quit
DELIMITER
fi
我在这里错过了什么?
【问题讨论】:
-
不要缩进 heredoc 标记 (
DELIMITER) 的末尾。通过 shellcheck.net 检查你的脚本。