Ihr Zitat ist falsch, insbesondere die doppelten Anführungszeichen.
Lassen Sie uns zusammenbrechen, was Sie haben, die zusammengeketteten Bits
echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";
- der Echo-Befehl
- eine leere Zeichenfolge
""
- eine Umleitung
<tr
- hier kommt der Fehler "Datei nicht gefunden" - ein Leerzeichen
- ein Faden
onmouseover="this.style.backgroundColor='#ffff66';"
- ein offenes Anführungszeichen und ein Semikolon, das erste Zeichen der nächsten Zeichenfolge
So korrigieren Sie Ihre Echo-Befehle:
while read INPUT ; do echo "<tr onmouseover=\"this.style.backgroundColor='#ffff66'\"" echo "onmouseout="this.style.backgroundColor='#d4e3e5'>" echo "<td>$</b></td></tr>" done
Wenn Sie eine Kombination aus einfachen und doppelten Anführungszeichen haben, ist ein Heredoc sehr gut lesbar. Verwenden Sie den read
Befehl auch, um Ihre CSV-Leitung zu trennen.
while IFS=, read -r first second ; do cat <<END_HTML <tr onmouseover="this.style.backgroundColor='#ffff66'" onmouseout="this.style.backgroundColor='#d4e3e5'"> <td>$first</td><td><b>$second</b></td> </tr> END_HTML done