Воистину люди спотыкаются не об горы, а об камни.
Проблема была под ногами.
cat myscript.sh
выдало глюки на том месте, где должен был быть кириллический текст.
Сделал следующее:
создал новый myscript2.sh "с нуля" с помощью vi (а не с помощью gedit, как раньше) .
Все перенабрал заново.
Заработало.
Моя ошибка была в том, что проверяя кодировку скрипта и кстового файла я просто смотрел скрипт в gedit.
Всё читалось, думал это и есть utf-8 - ведь
iconv -f utf-8 -t windows-1251 myscript.sh
iconv -f utf-8 -t windows-1251 b.txt
работало правильно.
При этом создавал b.txt как
echo шило > b.txt
Спсибо wl за пинки в нужную сторону.
Осталось два вопроса.
1. Как так может быть что создавая новый файл в gedit "получается" кодировка _не_ utf-8 (а какая?)? Вед системно, как я понимаю, стоит utf-8.
2. Как правильно смотреть в какой кодировке файл, если gedit показывает его корректно, а cat - глюки?
С уважением,
Павел