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

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

#!/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 все работает отлично.

  • Что означает «если» означает «$», если $ (ssh user @ host «»); тогда …?
  • Установить переменную на случайный элемент в массиве
  • сохранение одного и того же имени файла
  • Хранить задержанный вывод оболочки в переменную?
  • Почему комментирование этой строки в сценарии оболочки (с использованием pdftk) вызывает проблемы?
  • Сценарий Bash для обработки файла данных эксперимента
  • Найти различные строки в отдельных строках файла
  • найти определенный шаблон строки из файла в Unix Shell Scripting
  • One Solution collect form web for “Присвоение вывода команды переменной означает странные результаты”

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

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

    Interesting Posts

    пароль root не работает при входе в однопользовательский режим

    Как отформатировать эти два сложных оператора cron?

    Как перезаписать пакет без Debian?

    Учитывает ли зависимость dpkg -r между приложениями?

    Установка Java JDK в busybox в контейнере LXC – java / lang / NoClassDefFoundError: java / lang / Object

    Сортировка файла CSV, но не его заголовок

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

    Файловая система для внешней карты MicroSD

    Запуск нескольких экземпляров XServer на одном компьютере на разных процессорных ядрах

    Как отключить безголовую машину с помощью скрипта

    Информация о поклоннике ноутбука

    Wifi не работает на Linux Mint

    Чтение строк и совпадение с рисунком

    Выполните команду только в том случае, если предыдущая команда была успешной в Fish (например, && в bash)

    В чем разница между следующими терминами Makefile ядра: vmLinux, vmlinuz, vmlinux.bin, zimage & bzimage?

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