我有一个非常简单的bash脚本。我想将运行脚本的结果输出到html。但是,html“ $ {ec_1} $ {ec_2}”是如此。
#!/bin/bash
cat << 'EOF' > 01.html
<html>
<head>
<title>HTML Convert</title>
</head>
<body>
EOF
ec_1="====Default ID===="
if [ `cat /etc/passwd | egrep "lp:|uucp:|nuccp:" | wc -l` -eq 0 ] ; then
echo /etc/passwd | egrep "lp:|uucp:|nuccp:" > $ec_2
fi
cat << 'EOF' >> 01.html
<h1>${ec_1}</h1>
<h5>${ec_2}</h5>
</body>
</html>
EOF
[结果01.html]
$ {ec_1}
$ {ec_2}
答案 0 :(得分:0)
一些笔记(大为注释)
您的代码:
if [ `cat /etc/passwd | egrep "lp:|uucp:|nuccp:" | wc -l` -eq 0 ] ; then
echo /etc/passwd | egrep "lp:|uucp:|nuccp:" > $ec_2
fi
在这里证明egrep
的输出线数。如果不产生任何行,则提取这0行。我认为,您的意思是-gt 0
。
然后您写了echo /etc/passwd
。我认为cat /etc/passwd
是正确的,或者egrep ... /etc/passwd
。
无论如何,只要不需要if条件,就要做:
egrep "lp:|uucp:|nuccp:" /etc/password > $ec_2
否则,$ec_2
是未定义的(如果if ...
为假,则没有其他选择。
>$ec_2
写入文件,而不是变量。稍后,您访问未定义的变量$ec_2
。