\n
не могут быть удалены таким образом классическим (POSIX )sed
, они являются разделителями строк и не являются частью строки, подлежащей замене s///
. Они должны быть удалены tr
впоследствии :
sed -e 's/Connected\.//g' | tr -d ' \r\n'
(поскольку мы используем tr
, мы делаем так, чтобы он удалял все интересующие символы)
Однако вы можете использовать одну инструкцию s///
с GNU sed
, которая может работать сразу со всем файлом с опцией -z
(, что не очень хорошая идея для больших файлов):
sed -z -r -e 's/Connected\.|\n|\r| //g'
Проблема в том, что файловая система, экспортируемая NFS, не всегда готова к запуску NFS. В этом конкретном случае есть внешний диск, который асинхронно монтируется при загрузке, и иногда NFS запускается до того, как это произойдет. В результате NFS не может экспортировать файловую систему.
Одним из хороших решений является использование systemd для создания зависимости между NFS и файловой системой. Есть несколько способов сделать это, но, пожалуй, самый простой:
/etc/fstab
и x-systemd.before=nfs-server.service
в параметры монтирования файловой системы После завершения nfs -server.service будет запущен только после монтирования файловой системы и, следовательно, будет успешно экспортирован.