Почему мой скрипт оболочки bash меняет пробелы на перевод строки?

  1. ProFTPd, как и многие другие службы в Unix, использует syslogдля ведения журнала. syslog— это процесс, работающий с привилегиями суперпользователя. Это означает, что сам ProFTPd никогда не должен создавать файлы в каталоге журналов.

  2. Да. Так и должно быть. НЕ МЕНЯЙТЕ ЭТО

  3. Как правило, любые зарегистрированные действия пользователя должны быть доступны только суперпользователю. Это необходимо для защиты конфиденциальности пользователей. Это мое личное мнение.

  4. Для получения дополнительной информации о регистрации с помощью ProFTPd см.http://www.proftpd.org/docs/howto/Logging.html

    В целом предполагается, что установленная вами служба ведет себя так, как предполагалось, за исключением случаев, когда очевидно, что она ведет себя неправильно. Если это программа, установленная из менеджера пакетов, то она, очевидно, прошла тестирование на используемой вами версии Unix, и если вы обнаружите ошибку, вам следует связаться с сопровождающим пакета по этому поводу. Однако в большинстве случаев «ошибки» обычно являются результатом работы в сильно настроенной системе или с экстремальными или необычными конфигурациями и ошибкой. Установка по умолчанию очень редко бывает ошибочной, и ее следует «настраивать» только тогда, когда вы действительно знаете, что делаете.

    Это относится особенно к изменению разрешений или прав собственности на файлы и каталоги.

0
23.05.2019, 01:54
1 ответ

Вот более простой пример, иллюстрирующий проблему:

$ cat input.txt
line one
line two
line three
$ for word in $(cat input.txt) ; do echo $word ; done
line
one
line
two
line
three

$(cat input.txt)разбивает входные данные на пробелы. (Между прочим, в bash вы можете заменить это на$(<input.txt)).

Вы можете использовать вместо readвстроенную команду -в команду:

$ while read line ; do echo "$line" ; done < input.txt
line one
line two
line three

(Поскольку вы все равно используете awk, вы можете переписать все это на awk или на каком-то другом языке сценариев.)

0
28.04.2021, 23:33

Теги

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