Присвоение вывода команды переменной означает странные результаты

Мой скрипт выглядит так:

#!/bin/sh PROJECT_DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P) COMMANDS_CODE=$(php $PROJECT_DIR/bin/console generate:code) echo $COMMANDS_CODE 

У выхода есть все строки новой строки (что не происходит, если я вызываю скрипт напрямую) и содержит некоторые странные пути в начале:

 /bin /boot /cdrom /dev /etc /home /initrd.img /lib /lib64 /lost+found /media /mnt /opt /proc /root /sbin /selinux /srv /sys /tmp /usr /var /vmlinuz ... here starts the actual output but without any newlines ... 

(Вышеуказанная актуальна одна длинная строка, которая повторяется, я просто добавил несколько строк для чтения)

Что там происходит?

Если я сделаю

 php bin/console generate:code 

в моем проекте dir в моей bash shell все работает отлично.

  • C Shell отменил файл
  • Что делает делать в sh?
  • помощь для создания сценария оболочки для печати буднего дня и выходных
  • Bash- Помогите изменить код для пользовательского оператора вывода
  • Почему комментирование этой строки в сценарии оболочки (с использованием pdftk) вызывает проблемы?
  • Тихая установка сценария оболочки с использованием файла bash
  • Разбиение файла с использованием префикса
  • Как написать скрипт, который выполняет определенные команды на терминале?
  • One Solution collect form web for “Присвоение вывода команды переменной означает странные результаты”

    Попробуйте обернуть переменную в двойные кавычки. Пример: echo "$COMMANDS_CODE"

    Вы можете узнать больше о переменных оболочки и кавычек здесь , в разделе «Важность котировочных знаков».

    Interesting Posts

    В mutt невозможно привязать `limit` в пейджере к ключу, но` next-line` связывает штраф; в чем проблема?

    В nixos, как правильно настроить tmux?

    Когда я пытаюсь запустить комментарий, я получаю ошибку `Команда не может быть найдена, потому что '/ usr / bin' не входит в переменную среды PATH '

    Ошибка ввода звука со скайпом, выбор микрофона?

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

    Почему звездочки звездочки совпадают?

    Смутно о подключении USB3

    Использование nohup для непрерывного выполнения сценария

    Подключение через SSHFS в файловой системе NFS

    Проблема с использованием команды grep с переменной env, содержащей специальные символы

    Еженедельное задание cron для сохранения списка установленных пакетов

    diff сообщает о той же строке, что и в двух файлах

    Какая разница между / var / log и – / var / log в rsyslog.conf на RPi B?

    Печать содержимого системного буфера обмена в bash

    Проблемы с языками и шрифтами в Linux Mint

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