не может понять, что не так: $ echo '' date` '

Что происходит, когда выполняется следующая команда? Объясните, почему и как это исправить:

$ echo '`date`' 

Может кто-нибудь мне помочь?

  • Почему символы новой строки теряются при использовании подстановки команд?
  • Назначить непрерывный поток переменной и обработать переменную
  • Сохранять определенный результат для переменной оболочки
  • Ошибки прерывания в подстановке команд с использованием «-o errtrace» (т.е. set -E)
  • В чем разница между заменой и трубопроводом на bash
  • Подстановки команд vs обратные сбрасывания экранов в цитируемой строке
  • В чем разница между `curl | sh` и `sh -c" $ (curl) "`?
  • S-Lang shell (slsh): вывод команды захвата в переменную
  • 2 Solutions collect form web for “не может понять, что не так: $ echo '' date` '”

    Я предполагаю, что вы бежите

     echo '`date`' 

    (обратите внимание на прямые одинарные кавычки) и ожидаем увидеть выходную date . Оболочка никогда не расширяет строки внутри одинарных кавычек; вместо этого вы должны использовать двойные кавычки:

     echo "`date`" 

    или просто отбросить их

     echo `date` 

    Все это эквивалентно

     date 

    хотя, помимо раскола и глобуса оболочки (как указал Стефан Чазелас ), который по умолчанию рухнет пробелами.

    Как указано, внешними кавычками являются символы Unicode U + 2018 и U + 2019. Это НЕ обычные одинарные кавычки и не имеют особого значения для оболочки и просто повторяются:

     $ echo '`date`' 'Fri Apr 7 19:55:15 EEST 2017' $ 

    Внутри этих котировок используются обратные шаги для замены командной оболочки. date команда date и захваченный вывод заменяет строку date .

    Interesting Posts

    Извлечение только китайских символов

    Запуск K3b из командной строки

    Операционная система на базе Linux, которая имеет изолированные программные установки, такие как Android

    HP-UX – Невозможно использовать backspace для подключения ssh

    Есть ли место, где перечислены все файловые системы, поддерживаемые Debian?

    Представить флаги USE при появлении пакета в gentoo

    SSH для машин в новой подсети – таймаут соединения

    cd в каталог и выполнить множество команд

    «Протокол не указан» при запуске Xorg через lightdm, но работает при запуске напрямую

    Сценарий оболочки для отправки оповещения, если использование диска превышает 90%

    Поменять cron по умолчанию sendmail на почту

    История Loggin для syslog

    httpd (apache2) сервер не анализирует * .php файлы, а отображает их как текст с установленным php-модулем в arch-linux

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

    Разрешить все команды через sudo, но nopasswd для определенных команд

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