首页 > 解决方案 > bash 警告:由文件结尾分隔(需要“EOL”)

问题描述

我有一个 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,我试图在它前面添加一个反勾号或一个撇号,但也没有……我错过了什么?

标签: linuxbashshell

解决方案


从最简单的上下文开始

#!/bin/bash


cat >tst.conf<<EOL
HELLO CAT WORKS
EOL

并扩展脚本,逐行添加,它会告诉你原因在哪里:_)


推荐阅读