Как правило, если есть проблемы с I / O, система будет монтироваться как доступная только для чтения, так что дальнейшая запись не повредит файловую систему, но вы можете попытаться спасти все, что можете, прежде чем пытаться проверить / восстановить (fsck).
Я также посмотрел бы статистику SMART устройства с помощью утилиты Диски, чтобы убедиться, что она не работает. Перераспределенные сектора и частоты ошибок чтения / записи / поиска могут указывать на неисправное устройство. Но у меня также были случаи, когда диски были в порядке, а материнская плата вызывала неустойчивое поведение устройств, подключенных к определенному набору портов SATA. Многие переменные для рассмотрения ...
Источник: Файловая система внезапно доступна только для чтения? | Unix & amp; Linux Stack Exchange
Проблема с вашим кодом заключается в том, что > mypipe откроет fifo, напишет ему, а затем закроет. Как только он закрыт в обоих концах, вам нужно снова открыть его в обоих концах. Поэтому вместо повторного открытия fifo для каждого эха держите его открытым для всего цикла.
for elem in {1..99}; do echo "$elem"; done > mypipe
Btw вместо этого для цикла вы можете просто использовать один printf
Если у вас более сложный случай. Вы можете назначить ему fd.
exec 3> mypipe # opens mypipe for writing on fd 3
echo "stuff" >&3
echo "more stuff" >&3
...
exec 3>&- # closes fd 3
Подробнее см. Http://mywiki.wooledge.org/BashFAQ/085.