quote
это функция, которая определена (здесь, в моей системе Debian, но я полагаю, что то же самое в Ubuntu) в файле /usr/share/bash-completion/bash_completion
, который сам получен /etc/bash.bashrc
при запуске Bash.
Я бы никогда не использовал эту функцию! Если вам нужно процитировать материал так, чтобы безопасно использовать снаряд, пожалуйста , используйте printf
с %q
модификатором, как:
printf '%q\n' "Hello my friend I like 'single quotes' as well as \"double quotes\""
На самом деле, даже это очень редко используется, всегда есть лучшие стратегии для вещей высокого уровня, как мы, пользователи, обычно делаем. Эта quote
вещь используется внутренне некоторыми неясными вещами, о которых мы даже не хотим знать. Эта quote
функция, вероятно, зависит от поставщика / дистрибутива (читайте о Debian) и, вероятно, вообще не переносима и может даже измениться в будущих выпусках.
Редактировать. Я только что проверил систему Ubuntu 12.04, и quote
функция определена в /etc/bash_completion
источнике /etc/bash.bashrc
, полученном самим /etc/profile
.
Как я это определил? используя немного эвристики:
Проверьте, quote
появляется ли в /etc/profile
:
grep '\bquote\b' /etc/profile
Нет. Перейти к следующему шагу.
Какие файлы получены /etc/profile
?
grep '[[:space:]]\.[[:space:]]' /etc/profile
У меня есть $i
(нужно искать в источнике, что это за источники, но в этом случае это файлы, /etc/profile.d/*.sh
если таковые имеются (и если для чтения) и /etc/bash.bashrc
. Глядя в /etc/bash.bashrc
.
- Находится
quote
в /etc/bash.bashrc
? да / нет и т.д ...