【发布时间】:2020-12-24 18:14:56
【问题描述】:
我有一个 bash 脚本,在文件末尾包含以下内容(仅后跟一个空行):
wget https://downloads.rclone.org/rclone-current-linux-amd64.zip -P /mnt/backend/
unzip /mnt/backend/rclone-current-linux-amd64.zip
cat >/mnt/backend/rclone.conf<<EOL
[remote]
type = s3
provider = AWS
env_auth = false
access_key_id = key
secret_access_key = key
region = us-west-2
storage_class = STANDARD
EOL
当我运行它时,我收到以下警告my_script.sh: line 40: warning: here-document at line 30 delimited by end-of-file (wanted `EOL')
为什么会这样,我显然有EOL,我尝试在它前面添加一个反引号或一个撇号,但也没有……我错过了什么?
【问题讨论】:
-
我无法在
bash中重现此内容,它按预期工作。 -
尝试运行
cat -vet my_script.sh并查找不可打印的字符,例如EOL^M。 -
嗯,奇怪...我看不到不可打印的字符
-
EOL后面有空格吗? -
@thatotherguy 不,EOL 后没有空格