Попробуйте:
cat <<EOS # | what goes here now? Nothing!
line 3
line 1
line 2
line 3
EOS
Так как все это литеральные данные («здесь -есть документ» ), и разница между этим и желаемым результатом тривиальна, просто массируйте эти литеральные данные прямо здесь, чтобы они соответствовали выходным данным.
Теперь предположим, что line 3
приходит откуда-то и хранится в переменной с именемlastline
:
cat <<EOS # | what goes here now? Nothing!
$lastline
line 1
line 2
$lastline
EOS
В этом документе мы можем генерировать текст, подставляя переменные. Кроме того, мы можем вычислять текст, используя подстановку команд:
cat <<EOS
this is template text
here we have a hex conversion: $(printf "%x" 42)
EOS
Мы можем интерполировать несколько строк:
cat <<EOS
multi line
preamble
$(for x in 3 1 2 3; do echo line $x ; done)
epilog
EOS
В общем, избегайте обработки текста в шаблоне здесь документа; попробуйте сгенерировать его с помощью интерполированного кода.
В соответствии с man 8 mount
вы можете написать свой собственный помощник монтирования , например /sbin/mount.mynofail
, и заменить тип fuse.mergerfs
в fstab на mynofail
.
При монтировании сценарий будет вызываться с аргументами, соответствующими записи fstab, за вычетом различных опций. Ваш сценарий удалит фатальную строку "nofail,"
из параметров и вызовет /sbin/mount.fuse
с результатом после добавления -t fuse.mergerfs
.