quotees una función que está definida (aquí en mi sistema Debian, pero supongo que es lo mismo en Ubuntu) en el archivo /usr/share/bash-completion/bash_completion, que en sí mismo se origina /etc/bash.bashrcen el inicio de Bash.
¡Nunca usaría esta función! Si necesita citar cosas para que un shell pueda usarlas printfcon seguridad, úselas con el %qmodificador, como:
printf '%q\n' "Hello my friend I like 'single quotes' as well as \"double quotes\""
De hecho, incluso esto se usa muy raramente, siempre hay mejores estrategias para cosas de alto nivel como nosotros, los usuarios, usualmente lo hacemos. Esta quotecosa es utilizada internamente por algunas cosas oscuras que ni siquiera queremos saber. Esta quotefunción es probablemente específica del proveedor / distribución (leer específica de Debian) y probablemente no sea portátil en absoluto, e incluso podría cambiar en futuras versiones.
Editar. Acabo de comprobar en un sistema Ubuntu 12.04, y la quotefunción se define en /etc/bash_completion, originada por /etc/bash.bashrc, propiamente dicha /etc/profile.
¿Cómo determiné esto? usando un poco de heurística:
Verificar si quoteaparece en /etc/profile:
grep '\bquote\b' /etc/profile
No. Ve al siguiente paso.
¿De qué proceden los archivos /etc/profile?
grep '[[:space:]]\.[[:space:]]' /etc/profile
Tengo $i(necesito buscar en la fuente cuáles son estas fuentes, pero en este caso son los archivos /etc/profile.d/*.shsi los hay (y si son legibles) y /etc/bash.bashrc. Buscando /etc/bash.bashrc.
- Está
quoteadentro /etc/bash.bashrc? si / no, etc ...