2017-05-05 38 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這種情況下,他們可以嵌套。