Ваша проблема заключается в следующих строках вашего скрипта:
echo ' ' > /var/log/dmesg
echo ' ' > /var/log/syslog
echo ' ' > /var/log/message
Неудивительно, что это точно строки 7,8 и 9, которые жалуются на bash.
2] Эти команды пытаются удалить содержимое этих трех файлов журнала в /var/log, но поскольку они принадлежат root и у вас нет доступа на запись, вы получаете сообщение об ошибке. Хорошо! Я предполагаю, что вы не хотите очищать свои системные журналы.Помните, что > перезаписывает содержимое файла, вам нужно >> - Good to Это. В любом случае вы никогда не должны изменять эти файлы, они используются системой, и нет абсолютно никаких причин, по которым вы захотите их перезаписать. Даже если вы это делаете, есть гораздо более простые способы сделать это, например rm file или даже просто > file.
Чистым способом сделать все это будет использование logrotate. 6]