Реализуйте эти внешние ресурсы как монтирования autofs. Это позволит завершить работу fstab, а автомонтирование, пространственная функция ядра -, сможет согласовать создание внешних ссылок по мере необходимости и при их наличии.
Возможно, вам потребуется что-то добавить в ОС, чтобы настроить ее. На
Centos/Redhat: yum install autofs
Ubuntu: apt-get install autofs
Затем следуйте инструкциям вашего дистрибутива для настройки.
Примечание:
Параметр --ghost
сохранит «ожидаемый» путь к базовому каталогу на месте монтирования. Некоторым приложениям становится неприятно, если базовый путь монтирования отсутствует, а затем создается на лету.
Кроме того, если монтируемые общие ресурсы Windows защищены от использования SMB 1.0, обязательно используйте аргумент vers=2\.1
в строке сопоставления, чтобы указать, что попытка монтирования должна выполняться на SMB 2.1, в противном случае возникнут длительные тайм-ауты и сбои. произойдет монтирование.
"${@%\n}"
удаляет замыкающий n
. "${@%\\n}"
удалит конечную\n
(литеральную строку, а не новую строку ).
Чтобы удалить символ новой строки, вам нужно передать символ новой строки. В Bash этот синтаксис должен работать:
"${@%$'\n'}"
, где$'\n'
отвечает за генерацию фактического символа новой строки.Буквальный перевод строки также будет работать:
"${@%
}"
Примечания:
$@
). Пример:
$ set a $'b\n' c
$ printf '<%s>\n' "$@"
<a>
<b
>
<c>
$ printf '<%s>\n' "${@%$'\n'}"
<a>
<b>
<c>
$ printf '<%s>\n' "${@%
}"
<a>
<b>
<c>
*Если «удаление конечного \n
из аргумента» не то, что вы хотите, тогда может быть вы вызываете функцию из источника (? ), и скрипт страдает от строки DOS, заканчивающейся (s ). Проверьте этот вопрос .