【问题标题】:Script won't execute when used with echo -与 echo 一起使用时脚本不会执行 -
【发布时间】:2013-11-15 01:13:15
【问题描述】:
#!/bin/bash
cp "$1" tmpmulti
ex tmpmulti << 'HERE'
%s/.*/echo "&:" "validate_html &"/
wq
HERE
/bin/bash tmpmulti
rm tmpmulti

所以我正在构建这个脚本,目的是通过 w3c 验证器验证多个 html 站点。(学校练习)。

脚本将具有多个链接的文本文件作为输入。我已经为正在运行的单个站点制作了一个验证脚本(validate_html)。我正在尝试将此脚本转换为以下格式:

www.xxx.xx : This document was successfully checked as XHTML 1.0 Strict!
www.yyy.yy : Errors found while checking this document as XHTML 1.0 Transitional!

但是当我使用我的脚本时,我得到了:

www.xxx.xx : validate_html www.xxx.xx
www.yyy.yy : validate_html www.yyy.yy 

validate_html 脚本未执行(单独调用时有效)

有人给点建议吗? :)

【问题讨论】:

    标签: linux bash shell unix vi


    【解决方案1】:

    你尝试过类似的方法吗?我在你的validate_html 周围添加了$(),所以它会被执行而不是简单地打印。

    #!/bin/bash
    cp "$1" tmpmulti
    ex tmpmulti << 'HERE'
    %s/.*/echo "&:" "$(validate_html &)"/
    wq
    HERE
    /bin/bash tmpmulti
    rm tmpmulti
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多