我有<很难用这个bash脚本工作,但因为我重构开始漫画因为我正在使用的EOF
#!/bin/bash -v
get_aws(){
cd /home/ec2-user/
wget https://repo/aws_git
chmod 600 aws_git
wget https://repo/aws_config
yum install -y expect
secret="aws_config"
pass=$(cat $secret)
eval $(ssh-agent)
/usr/bin/expect<<EOF --> this is the line that complain
spawn ssh-add aws_git
expect "Enter passphrase"
send "$pass\r"
expect eof
spawn git clone git@github.repo.git
expect "Are you sure you want to continue connecting"
send "yes\r"
expect eof
EOF
echo "finish" --> this line it colored as it was all String
}
get_aws
错误说第13行是由文件结尾(预期的'EOF')分隔的 任何的想法?我看不到错误
的问候。
答案 0 :(得分:2)
- 用于标记此处文档限制字符串的选项(&lt;&lt;&lt; -LimitString) 会在输出中抑制前导标签(但不是空格)。这可能是 有助于使脚本更具可读性。
此处文档最后一行的结束限制字符串必须 从第一个角色位置开始。没有领先优势 空白即可。限制字符串之后的尾随空格同样会导致 意外行为。空格可以防止限制字符串 被承认
检查this