sed
не имеет значения. То, что вы видите, на самом деле выполняется самим echo
:
$ echo "foo\bar\ foo/baz/ qux\\bax\\ "
foo\bar\ foo/baz/ qux\bax\
Это потому, что \
используется для экранирования других символов. \\
означает «избежать \
», поэтому печатается только один. Если вы хотите, чтобы sed
делал что-то полезное, например, экранирование пробелов ввода, вам потребуется:
$ echo "foo\bar\ foo/baz/ qux\\bax\\ " | sed 's/ /\\ /g'
foo\bar\\ foo/baz/\ qux\bax\\
Если вы собираетесь запустить ntpd, вам нужно исправить вашу сеть/брандмауэр/NAT, чтобы ntpd мог иметь полный неограниченный доступ к UDP-порту 123 в обоих направлениях.
Не знаю, как другие люди относятся к этому, но ИМХО ntp
— плохая реализация. Меня сводит с ума, когда я вижу клиентов NTP с открытыми входящими портами. Кроме того, неясно, для чего на самом деле используется этот входящий порт в реализации ntp
, поскольку возникает путаница, должен ли он вообще открываться при попытке синхронизировать только локальное время с удаленным NTP. сервер (также известный как режим «только клиент» ). Я не просматривал источник, чтобы найти правильный ответ на этот вопрос, но тот факт, что этот порт открыт по умолчанию, сам по себе заставляет меня не хотеть просматривать эту кодовую базу.
Вместо этого следует использовать openntpd
или chrony
. Оба не требуют входящих портов, и конфигурация может быть выполнена в одном конфигурационном файле с пояснениями -.
Мой общий совет: не использовать ntp
реализацию везде, где это возможно, и заменить ее этими альтернативами. Будем надеяться, что ntp
получит серьезные обновления, чтобы исправить эти сумасшедшие требования, или будет заменен какой-либо другой реализацией по умолчанию очень скоро.