Создание каталога с помощью раскрытия скобок

Наконец-то я разобрался.

Я попытался убить natd просто для того, чтобы перезапустить его с некоторыми тестовыми параметрами, и был совершенно ошеломлен тем фактом, что компьютеры в локальной сети после этого не теряли подключение к Интернету. Я начал расследование и обнаружил, что у меня работает еще один отдельный NAT! Это была установка ppp natв /etc/ppp/ppp.conf. Значит, это была первопричина. Однако мне пришлось изменить некоторые настройки natd/ipfw , чтобы все работало как надо.

Во-первых, я изменил natd_interface="igb0"наnatd_interface="tun0"(с моего внешнего сетевого адаптера на интерфейс pppoe, вызываемый при подключении ). И я добавил правило ipfw divert, выглядящее так:

ipfw add divert natd from any to any via tun0

После этого все работает нормально, и сейчас я занимаюсь настройкой брандмауэра.

0
31.10.2020, 16:29
2 ответа

Ваша первая команда:

mkdir Public/1 2 3

BASH интерпретирует mkdir Public/1как создание каталога с именем 1внутри общего каталога. Другие, 2и 3, не имеют перед собой каталога, поэтому BASH интерпретирует это как создание их в текущем рабочем каталоге.

Ваша вторая команда такова:

mkdir Public/{1..3}

Как и у вас Public/{1..3}, BASH интерпретирует это как использование раскрытия скобок для создания каталогов 1, 2и 3внутри каталога Publicвместо текущего рабочего каталога, как в первой команде..

То же самое произошло бы, если бы вы использовали то же самое с rmdirили touchвместо mkdir.

2
18.03.2021, 22:53

В mkdir Public/1 2 3есть три аргумента :Public/1, 2и 3. Команда эквивалентна

mkdir Public/1
mkdir 2
mkdir 3

В mkdir Public/{1..3}оболочка расширяется {1..3}перед запуском mkdir. Но оболочка не расширяется{1..3}одна . Здесь {1..3}является частью большего «слова» . Public/{1..3}расширяется до Public/1 Public/2 Public/3. Вы можете увидеть это с помощьюecho:

echo Public/{1..3}

Настоящая команда, запускаемая оболочкой, была mkdir Public/1 Public/2 Public/3, что эквивалентно

mkdir Public/1
mkdir Public/2
mkdir Public/3
1
18.03.2021, 22:53

Теги

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