quoteце функція, яка визначена (тут у моїй системі Debian, але, мабуть, це те саме на Ubuntu) у файлі /usr/share/bash-completion/bash_completion, який сам отримує /etc/bash.bashrcпри запуску Баша.
Я б ніколи не використовував цю функцію! Якщо вам потрібно процитувати речі, щоб безпечно користуватися оболонкою, будь ласка, використовуйте 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? так / ні тощо.