Ваше цитирование неверно, в частности двойные двойные кавычки.
Давайте разберем, что у вас есть, биты соединены вместе
echo ""<tr onmouseover="this.style.backgroundColor='#ffff66';"";
- команда эха
- пустая строка
""
- перенаправление
<tr
- вот откуда возникает ошибка «файл не найден» - пространство
- строка
onmouseover="this.style.backgroundColor='#ffff66';"
- открытая кавычка и точка с запятой, первый символ следующей строки
Чтобы исправить ваши эхо-команды:
while read INPUT ; do echo "<tr onmouseover=\"this.style.backgroundColor='#ffff66'\"" echo "onmouseout="this.style.backgroundColor='#d4e3e5'>" echo "<td>$</b></td></tr>" done
Когда у вас есть смесь одинарных и двойных кавычек, heredoc очень читабелен. Кроме того, используйте read
команду, чтобы отделить вашу линию CSV.
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