quoteadalah fungsi yang didefinisikan (di sini di sistem Debian saya, tapi saya kira itu sama di Ubuntu) dalam file /usr/share/bash-completion/bash_completion, yang itu sendiri bersumber pada /etc/bash.bashrcsaat startup Bash.
Saya tidak akan pernah menggunakan fungsi ini! Jika Anda perlu mengutip hal-hal agar dapat digunakan dengan aman oleh shell, silakan gunakan printfdengan %qpengubah, seperti:
printf '%q\n' "Hello my friend I like 'single quotes' as well as \"double quotes\""
Bahkan, meskipun ini sangat jarang digunakan, selalu ada strategi yang lebih baik untuk barang-barang tingkat tinggi seperti yang biasanya dilakukan oleh kita, pengguna. Hal quoteini digunakan secara internal oleh beberapa hal tidak jelas yang bahkan tidak ingin kita ketahui. Ini quotefungsi mungkin vendor / distribusi khusus (baca Debian-spesifik) dan mungkin tidak portabel sama sekali, dan bahkan mungkin berubah dalam rilis mendatang.
Edit. Saya baru saja memeriksa sistem Ubuntu 12.04, dan quotefungsinya didefinisikan dalam /etc/bash_completion, bersumber oleh /etc/bash.bashrc, itu sendiri bersumber dari /etc/profile.
Bagaimana saya menentukan ini? menggunakan sedikit heuristik:
Periksa apakah quotemuncul di /etc/profile:
grep '\bquote\b' /etc/profile
Tidak. Pergi ke langkah selanjutnya.
Apa saja file yang bersumber /etc/profile?
grep '[[:space:]]\.[[:space:]]' /etc/profile
Saya punya $i(perlu melihat ke sumber untuk apa sumber ini, tetapi dalam hal ini adalah file /etc/profile.d/*.shjika ada (dan jika dapat dibaca) dan /etc/bash.bashrc. Melihat /etc/bash.bashrc.
- Apakah
quotedi /etc/bash.bashrc? ya / tidak, dll ...