linux - 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
,我试图在它前面添加一个反勾号或一个撇号,但也没有……我错过了什么?
解决方案
从最简单的上下文开始
#!/bin/bash
cat >tst.conf<<EOL
HELLO CAT WORKS
EOL
并扩展脚本,逐行添加,它会告诉你原因在哪里:_)
推荐阅读
- python - SConstruct文件的未定义变量pylint错误
- javascript - 如何使用 2 因素进行 otp 验证
- django - 如何指定 login_url 以登录 django 通用视图
- ios - 用动画改变 GMS Map View 的相机位置
- c - 刚开始使用 p_thread 和信号量,您将如何使用信号量来等待子线程完成?(没有 p_thread 连接)
- php - 内联 if 内联 if 的奇怪行为
- reactjs - 仅当 React Redux 应用程序中的数据库发生更改时才从数据库中刷新状态
- python-3.7 - 安装 Python 3.7 时出错 - E:子进程 /usr/bin/dpkg 返回错误代码 (1)
- javascript - 将值从 div 传递到文本框
- google-maps - 如何使用 gmap3 添加叠加层?