Как добавить комментарии к многострочным операторам в сценарии Bash?

Изменить конфигурацию сети можно двумя способами:

  1. Вы можете изменить файлы конфигурации для своей сети и повторно запустить сценарии, применяющие эту конфигурацию. или перезапустите службу, которая управляет сетью (например, службу network-manager ). Это вносит «постоянные» изменения, так как изменение будет применено и после вашей следующей перезагрузки.
  2. Вы можете запускать команды, которые напрямую управляют ядром, вместо того, чтобы вносить изменения в файл конфигурации; например, вы можете запустить что-то вроде ip route del default , которое удалит ваш маршрут по умолчанию (если есть только один маршрут по умолчанию, то есть).

В первом случае, если вы сделаете что-то неправильно, вы, вероятно, вызовете проблемы с вашей установкой, которые будет трудно исправить. Однако во втором случае это неверно; все, что нужно, - это перезапустить либо сетевую подсистему (с ее неизмененной конфигурацией), либо компьютер в целом, чтобы вернуть старую ситуацию.

Если у вашего компьютера проблемы с подключением к сети, и у него есть маршрут, которого нет у другого компьютера в той же сети, у которого нет проблем с подключением к сети, то да, удаление этого маршрута может быть хорошей идеей. Это также можно сделать с помощью команды ip :

ip route del XXX.XXX.XXX.XXX/XX via ZZZ.ZZZ.ZZZ.ZZZ

, где XXX.XXX.XXX.XXX/XX - сетевой адрес, а ZZZ.ZZZ.ZZZ .ZZZ - шлюз для этого маршрута. Если это решит вашу проблему, измените конфигурацию сети и сделайте изменение постоянным. Если это не решает вашу проблему, просто повторно примените старую конфигурацию, перезапустив сетевую подсистему или ваш компьютер в целом.

3
11.03.2017, 22:52
1 ответ

Строка, разбитая на несколько строк путем экранирования символа новой строки, по-прежнему является одной строкой.

Комментарий простирается от # до конца строки, независимо от того, разбита эта строка на несколько строк или нет.

То, что оболочка анализирует, когда вы пишете

echo hello \
# world

, это

echo hello # world

Однако это отличается (и работает):

grep hello |
# now sed:
sed 1p

Поскольку каждая часть конвейера завершается на отдельной строке, можно смешивать строки с комментариями. , пока символы новой строки не экранированы.

2
27.01.2020, 21:25

Теги

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