错误分隔EOF

时间:2016-09-16 10:11:05

标签: bash shell

我有<很难用这个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')分隔的 任何的想法?我看不到错误

的问候。

1 个答案:

答案 0 :(得分:2)

  

- 用于标记此处文档限制字符串的选项(&lt;&lt;&lt; -LimitString)   会在输出中抑制前导标签(但不是空格)。这可能是   有助于使脚本更具可读性。

     

此处文档最后一行的结束限制字符串必须   从第一个角色位置开始。没有领先优势   空白即可。限制字符串之后的尾随空格同样会导致   意外行为。空格可以防止限制字符串   被承认

检查this