2017-05-05 75 views
0

我正在制作一个cgi脚本,用于读取sql数据库的内容并将它们显示在表格中。我想列出一个条件,如果其中的文本里面的日期,我想为单元格有一个绿色的背景颜色。 我想广告的线路条件为:如果内部条件​​HTML

echo '<html><head><meta http-equiv="Content-Type" content="text/html; 
charset=UTF-8">' 
echo '<style>body {font-family: courier;}</style></head>' 
echo "<body>" 
echo "<table border="1">" 
echo "<tr><th>lfd.</th><th>ID</th><th>Name/Ort</th><th class="y_n"}>Last Seen</th></tr>" 
for line in $(sqlite3 onlinestatus.sqlite "SELECT playerid,name,lastseen,lfd FROM devices WHERE playerid = "1234" 
do 
echo "<tr>" 
echo "<td align="right">$(echo ${line}|cut -d "|" -f 4)</td>" 
echo "<td align="right">$(echo ${line}|cut -d "|" -f 1)</td>" 
echo "<td>$(echo ${line}|cut -d "|" -f 2)</td>" 
echo "<td>$(echo ${line}|cut -d "|" -f 3)</td>" 
echo "</tr>" 
done 
echo "</table>" 

我想要添加到该行的条件,所以如果在$ {线}是今天的日期单元格的背景色为绿色或任何其它颜色

echo "<td align="right">$(echo ${line}|cut -d "|" -f 1)</td>" 
+0

那么最新的问题? – 123

+0

@ 123如何将条件添加到​​中,如果单元格内的文本是今天的日期,它会给出绿色背景色? – mido

回答

0

问题是,最里面的双引号不会被解释为内部双引号,但会关闭字符串,因为语法着色显示良好。

要使用双引号双引号字符串中可以躲过

echo "<td align=\"right\">$(echo ${line}|cut -d \"|\" -f 1)</td>" 

或者你也可以使用单引号

echo '<td align="right">'"$(echo ${line}|cut -d '|' -f 1)"'</td>' 

还削减了也没用,下面的变量扩展做了同样的

echo '<td align="right">'"${line%%|*}"'</td>' 

除内部引号位于命令替换$(),in这种情况下,他们可以嵌套。