как заменить значение, которому предшествует пробел в конце строки?

systemdбудет использовать содержимое традиционного файла /etc/fstabдля динамического создания «юнитов монтирования». Вам нужно будет проверить статус соответствующего модуля монтирования, чтобы понять, почему он не работает :, запустите systemctl status Share.mount.

Наиболее вероятная причина заключается в том, что разрешение имен NetBIOS недоступно (, т.е. Samba nmbdеще не запущена ), когда происходит попытка монтирования, как предложено в соответствующей странице Debian Wiki .

См. man systemd.mountспециальные параметры монтирования systemd -, которые вы можете использовать в /etc/fstab. Например, вы можете использовать x-systemd.automountв качестве обходного пути :, systemd должен автоматически монтировать файловую систему при первой попытке ее использования.

Также проверьте systemctl status network-online.target:, если у вас статическая конфигурация сети,система может быть не в состоянии определить, когда сетевое соединение правильно подключено, и в результате пытаться смонтировать сетевые файловые системы слишком рано. Проверьте новые настройки WAIT_ONLINE_IFACE=и WAIT_ONLINE_METHOD=в файле конфигурации /etc/default/networking, чтобы узнать о возможных способах повышения надежности онлайн-обнаружения в сети.

Кроме того, чтобы отключить диалоговое сообщение, вы должны добавить vers=N.Nв параметры монтирования. См. man mount.cifsдля получения списка доступных значений N.Nи соответствующих версий Windows. Если сервер не ниже Windows Server 2008R2, вы можете использовать vers=2.1.

Старая версия протокола vers=1.0была уязвима для атаки печально известной программы-вымогателя WannaCry в 2017 году, и ее нельзя было исправить, поэтому все ОС до -до -даты должны быть запрограммированы на ненависть эту версию и не использовать ее, если об этом специально не попросят. (Если ваш сервер по-прежнему не поддерживает ни одну из новых версий протокола, его необходимо обновить.)

1
01.05.2021, 15:44
1 ответ

Предполагая, что вы хотите удалить значение после :в строке и безоговорочно вставить туда 0, а также предполагая, что строка Background.Delay:находится в самом начале строки:

sed -i 's/^\([[:blank:]]*Background\.Delay:\).*/\1 0/' "$HOME/.ideskrc"

или

sed -i '/^[[:blank:]]*Background\.Delay:/ s/:.*/: 0/' "$HOME/.ideskrc"

Это ищет буквальную строку Background.Delay:в начале любой строки в файле .ideskrcв вашем домашнем каталоге, возможно, перед любым количеством табуляции или пробелов (они будут сохранены ), удаляет все, что идет после :и вставляет 0после пробела.

Изменения вносятся в -место, если ваша sedреализация поддерживает использование опции -i, как показано выше (см. Как добиться переносимости с помощью sed -i (в -место редактирования )?).

1
28.07.2021, 11:36

Теги

Похожие вопросы