场景:我从python获得了列表变量,其中包含一组值,我想将这些列表值放在正在生成运行时的html文件中。
testmail.sh
** cat<< EOF > 〜/ **的test.html
<html>
<head>
<title>
My System information
</title>
</head>
<body>
<h1> My system information : </h1>
表示“$ @”中的值//这包含从python收到的列表值。
DO
完成
</body>
</html>
EOF
上面的代码在testmail.sh中,它生成了显示值的test.html ..
但是我希望这些值以正确的格式放在html的正文中..但它不起作用......
答案 0 :(得分:0)
我假设你真的在使用bash脚本而不使用“$ @”参数,因为这没有意义。 =)
示例输出:
$ echo -e "one\n two\n three" | bash foo.html
<html>
<p>one</p>
<p>two</p>
<p>three</p>
</html>
执行此操作的Shell脚本:
$ cat foo.html
cat <<END
<html>
END
while read LINE
do
echo "<p>${LINE}</p>"
done
cat <<END
</html>
END
答案 1 :(得分:0)
这样的东西?
python script.py |
sed -e '1i\<ul>' -e 's%.*%<li>&</li>%' -e '$a\</ul>'
...但最好还是在Python脚本中添加一个选项来生成HTML(ish)输出。
如果你想从Python驱动shell脚本,你也可以在Python中进行HTML格式化。
import subprocess
pipe = subprocess.Popen("testmail.sh", stdin=subprocess.PIPE)
pipe.stdin.write('<ul>\n')
for item in correctList:
pipe.stdin.write('<li>%s</li>\n' % item)
pipe.stdin.write('</ul>\n')
pipe.stdin.close()
这假设您的testmail.sh
从标准输入读取数据,显然情况并非如此,因此您需要稍微更改一下。