当我按照bash脚本运行时
#!/bin/bash
items="b.js
a.js
c.js"
startScript='<script src="'
endScript='"></script>'
for item in $items
do
echo $startScript$item$endScript
done
输出:
<script src="c.js"></script>
<script src="a.js"></script>
<script src="b.js"></script>
我想通过bash脚本在生成的html文件中运行此循环。 For循环在这里不起作用。
#!/bin/bash
items="b.js
a.js
c.js"
startScript='<script src="'
endScript='"></script>'
cat << noEcho
<HTML>
<HEAD>
<TITLE> Bash Script </TITLE>
</HEAD>
<BODY>
for item in $items
do
echo $startScript $item $endScript
done
</BODY>
</HTML>
noEcho
答案 0 :(得分:3)
修复了最明显错误的简单示例:
#!/bin/bash
files=( b.js a.js c.js)
startScript='<script src="'
endScript='"></script>'
cat << noEcho
<html><head><title>Bash Script</title></head><body>
$(
for file in "${files[@]}"; do
echo "${startScript}${file}${endScript}"
done
)
</body></html>
noEcho
您可以在http://ideone.com/rSsO9H上看到上面的运行及其输出。
一些注意事项:
$()