与echo一起使用时脚本不会执行 -

时间:2013-11-04 12:04:31

标签: linux bash shell unix vi

#!/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脚本没有执行(它在单独调用时有效)

有人有什么建议吗? :)

1 个答案:

答案 0 :(得分:1)

你尝试过类似的东西吗?我在$()周围添加了validate_html,因此它会被执行而不是简单地打印出来。

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