Как установить вывод heredoc в локальную переменную

Я пытаюсь в heredoc установить свой вывод на локальную переменную следующим образом:

REMOTE_OUTPUT=$(ssh remote@server /bin/bash << EOF find my/path/ -type f -not -path my/path/*/ -type f -mtime -0 | while read filename; do if grep "ERROR" $filename; then filenamebase=$(basename "$filename") echo -e "\n----------------------------------------------------------\n\n$filenamebase failure:\n" grep -n "ERROR" "$filename" | sed G fi done EOF) 

Но переменная остается нулевой, хотя цикл find & grep верен и должен действительно возвращать результат.

(В противном случае мне также было бы интересно записать вывод heredoc в локальный файл.)

  • Как я могу sudo su и сменить каталог сразу после?
  • Что означает «cd &»?
  • Debian Jessie initramfs - инструмент странного поведения
  • Как отключить переменную в командной строке?
  • Как передавать файлы по ssh, а также изменять их разрешения на удаленном сервере без необходимости входа в систему дважды
  • Удаленный запуск ssh - проблемы
  • как разрешить sudo fork bash вместо sh?
  • gnome-terminal: отслеживать каталог на новой вкладке
  • One Solution collect form web for “Как установить вывод heredoc в локальную переменную”

    Вам нужно EOF маркер EOF , например <<\EOF или <<'EOF' чтобы остановить переменную $filename от оценки до ее передачи на удаленный. Вы можете увидеть эффект с say /bin/bash -v вместо /bin/bash .

    Я также должен был иметь фактический маркер EOF на отдельной строке, с финалом ) на следующей строке.

    Interesting Posts

    Как я могу безопасно создавать и получать доступ к временным файлам из сценариев оболочки?

    альтернатива "netstat -s"

    Команда перенаправления неожиданна

    Фильтровать пакеты по MAC-адресу и «EAP» в scapy

    Как увеличить количество inodes при разбиении на разделы во время установки Debian?

    Как ограничить основной порт iptables и разрешить обслуживание на другом порту

    Как я могу сбросить содержимое суперблока файловой системы?

    Вимм-режим Vim для системного буфера обмена?

    Почему Linux не удаляет маршрут из таблицы маршрутизации, если интерфейс физически отсутствует?

    Функция сортировки Unix не полностью сортирует строку с числами

    Башрик для виртуального терминала

    Является ли редактор `ed` полезным для любых целей, кроме чрезвычайных ситуаций и пакетного редактирования?

    Может ли SSH и SFTP * off * сервер, но не может SFTP * на сервер?

    Звездочка: сделайте IVR, чтобы произносить цифры во время ввода пользователем

    Barnyard 2 не работает на OpenBSD

    Linux и Unix - лучшая ОС в мире.