Как я могу повторить знаки доллара?

  • Linux с нуля является наименьшим и самым легким, но требуется большая подготовительная работа.
  • KIWI\SuSE Studio предлагает гибкость, поскольку можно протестировать, управляют им и указывают, который упаковывает Вас, want\don't хотят.
  • ramfs с BusyBox является взломом, но это является быстрым и маленьким.
  • Все это зависит от того, сколько работы Вы хотите вставить его. Я думаю, что LFS является забавой, но Studio SuSE легок. Те, что упомянутый мозг опасности предварительно создается.

68
14.09.2016, 12:44
3 ответа

Вам просто нужно избежать доллара $ .:

echo \$PATH
$PATH

или окружайте его в одиночных кадинатах:

echo '$PATH'
$PATH

Это убедится, что слово не интерпретируется оболочкой Отказ

78
27.01.2020, 19:31

Использование:

echo ''\$PATH'' >> output.txt 

Это будет работать.

-2
27.01.2020, 19:31

$ в синтаксисе большинства оболочек является очень специальным символом. Если мы посмотрим только на оболочки, подобные Bourne, они используются для введения:

  1. расширения параметров, как в $ # , $ var , $ {foo: -bar}
  2. подстановка команд, как в $ (logname) (также $ {logname;} в некоторых оболочках, чтобы избежать подоболочки)
  3. арифметическое расширение, как в $ ( (1 + 1)) (также $ [1 + 1] в некоторых оболочках).
  4. другие формы цитирования в некоторых оболочках, например $ '\ n' или $ "локализованная строка" .

За исключением последнего случая, эти расширения / замены по-прежнему выполняются в двойных кавычках (и внутри $ "..." в bash или ksh93 )

Чтобы этот $ не обрабатывался особым образом, вам нужно указать его в кавычках:

  • одинарные кавычки: echo '$ PATH' или echo '$' PATH . Тот, который вы обычно хотите использовать, поскольку он экранирует все символы (кроме себя) в большинстве оболочек.
  • черная косая черта: echo \ $ PATH . Также внутри двойных кавычек: echo "\ $ PATH"
  • в некоторых оболочках, некоторые другие операторы цитирования: echo $ '$ PATH' , echo $ '\ 44PATH' (при условии, что кодировка совместима с ASCII), echo $ '\ u0024'

Или убедитесь, что это не часть допустимой формы раскрытия, как указано выше:

  • echo "$" PATH
  • echo $ "" PATH , echo $ "PATH" . Этого следует избегать, потому что некоторые оболочки, такие как ksh93 и bash поддерживает форму кавычек $ "..." .
  • echo $ `` PATH . Нет причин, по которым вы хотели бы использовать это один, за исключением того, чтобы показать, что это возможно.
  • echo "$ {$ + $} PATH" и другие запутанные ...

Или вы можете вывести этот $ другим способом:

  • с Unix-совместимым echo : echo '\ 044PATH' (для некоторых других echo требуется echo -e '\ 044PATH' )
  • printf '\ 44PATH \ n '
  •  cat << \ EOF 
     $ PATH 
    EOF 

Обратите внимание на то, что эти обратные косые черты должны быть заключены в кавычки, поскольку они, очевидно, являются специальными для оболочки.

Надеюсь, к настоящему времени должно быть ясно, что, хотя есть много способов сделать это, нет веских причин, по которым вы хотели бы использовать что-то еще, кроме echo '$ PATH' здесь.

20
27.01.2020, 19:31

Теги

Похожие вопросы