【问题标题】:I am getting error bash: -c: line 3: unexpected EOF while looking for matching `)' bash: -c: line 4: syntax error: unexpected end of file [duplicate]我收到错误 bash: -c: line 3: unexpected EOF while looking for matching `)' bash: -c: line 4: syntax error: unexpected end of file [重复]
【发布时间】:2021-04-06 02:29:28
【问题描述】:

我的脚本:

#!/bin/bash

ssh root@server_host '

cd /home

count=$(awk -v d1="$(date --date="now -5 分钟" +"%d %b %Y %H:%M")" -v d2="$(date --date="now " +"%d %b %Y %H:%M")" '$0 > d1 && $0

如果 [ $count -gt 0 ];那么 状态=绿色 别的 状态=黄色 菲

timestamp=$(date --date="now - 5 分钟" +"%d %b %Y %H:%M")

comment=""

如果 [ $status == 绿色 ];那么

comment=$(awk -v d1="$(date --date="now -5 分钟" +"%d %b %Y %H:%M")" -v d2="$(date --date="now " +"%d %b %Y %H:%M")" '$0 > d1 && $0

其他

comment=$(awk -v d1="$(date --date="now -5 分钟" +"%d %b %Y %H:%M")" -v d2="$(date --date="now " +"%d %b %Y %H:%M")" '$0 > d1 && $0

fi

'>/csvfiles/LogsReport.csv

【问题讨论】:

    标签: bash shell unix awk


    【解决方案1】:

    SSH 将无法执行这样的脚本。你能做的是

    #!/bin/bash
    
    ssh root@server_host > /csvfiles/LogsReport.csv <<EOF
    cd /home
    ...
    <and the rest of your script>
    EOF
    

    有关此语法的更多信息,请访问Here documents

    【讨论】:

    • 您仍然无法将完整的脚本在引号中传递给 SSH。您需要使用如上所示的“此处文档”,或者将行放在单独脚本中的引号中并执行。
    • 嗨,仅供参考,我将从一个公共的根服务器访问执行 ssh root@host ' ' ,从那里我可以使用用户名 root 登录到任何服务器,我的脚本将仅驻留在公共主机上,例如我的脚本 run.sh 在主机 pq34 上,我想在我的脚本中登录到 pq30,并且必须将所有内容保存在 pq34 上的 csv 中。我们可以通过 run.sh 来做到这一点: ssh root@pq30 ' cd /home my script content #closures server logged in with ' '>>/csv/logsrepprt.csv #overwriting the content in csv
    猜你喜欢
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    • 2016-10-21
    相关资源
    最近更新 更多