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

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

$ echo '`date`' 

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

  • Почему символы новой строки теряются при использовании подстановки команд?
  • Ошибки прерывания в подстановке команд с использованием «-o errtrace» (т.е. set -E)
  • В чем разница между `curl | sh` и `sh -c" $ (curl) "`?
  • Назначить непрерывный поток переменной и обработать переменную
  • Подстановки команд vs обратные сбрасывания экранов в цитируемой строке
  • В чем разница между заменой и трубопроводом на bash
  • Замена команд и пробелы
  • 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

    Существуют ли какие-либо проверки GPG в OpenBSD при установке приложения?

    Как отключить ярлыки в urxvt?

    Как получить код выхода grep, но распечатать все строки?

    не удается найти интерпретатор при запуске исполняемого файла Windows

    Аутентификация PAM и SSH-доступ на основе информации о пользователе, хранящейся в sqlite3

    Скопировать файлы на основе дат в имени файла

    Открытие файлов в архивах от vim

    Изменение частоты выборки в ALSA

    Почему foo = bar отличается от foo = bar?

    Как заключить цитированную переменную в кавычки

    Не могу дать себе NOPASSWD privelege для chmod / chown

    Не удается выполнить печать на Fuji Xerox CM115W: «Не удалось выполнить фильтрацию»

    Как изменить список менеджеров окон, которые отображаются в Gnome Login?

    Инструменты Linux для обработки файлов как наборов и выполнения заданных операций над ними

    Команда Emacs вырезает ИЛИ копирует в системный буфер обмена?

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