Несоответствия между перенаправлением входа из файла, здесь документы, и здесь представляют в виде строки

  1. Вам нужны канонические пути для определения объема, объект файловой системы находится на (если Вы хотите сделать это тот путь; существуют другие пути).
  2. Если права доступа относятся к путям (как с Apache) затем, Вам нужны канонические пути.
4
03.03.2014, 02:26
2 ответа

$ ( - это специальный ярлык в bash для $ (cat , , как описано в разделе «Подстановка команд» . Это исключение из обычного синтаксиса, когда перенаправление будет применено к пустой команде и, таким образом, ничего не сделает, кроме как сигнализировать об ошибке, если файл не существует. Bash не распространяет это исключение на документы here или строки here: вам нужно явно включить cat .

Эта функция была добавлена ​​в bash 2.02 (она упоминается в журнале изменений). В исходном коде это реализовано логикой вокруг вызова cat_file в parse_and_execute в builtins / evalstring.c .

4
27.01.2020, 20:51

Слишком устал, чтобы копаться в объяснении, но вот рабочий №2 (отсутствует кот )

for server in $(cat <<EOF
server1
server2
server3
EOF
); do echo ${server}; done

и №3 (прочтите здесь строку за раз)

while read server; do
  echo ${server}
done <<<"server1
server2
server3"
3
27.01.2020, 20:51

Теги

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