quote/usr/share/bash-completion/bash_completionkendisi tarafından kaynaklanır dosyada (burada Debian sistemimde, ama sanırım Ubuntu'da aynıdır) tanımlanan bir işlevdir/etc/bash.bashrcBash'ın başlangıcında .
Bu işlevi asla kullanmam! Bir kabuk tarafından güvenli bir şekilde kullanılabilecek şeyler teklif etmeniz gerekiyorsa, lütfen değiştirici printfile birlikte kullanın %q:
printf '%q\n' "Hello my friend I like 'single quotes' as well as \"double quotes\""
Aslında, bu çok nadiren kullanılsa bile, bizler genellikle kullanıcılar gibi üst düzey şeyler için her zaman daha iyi stratejiler vardır. Bu quoteşey, dahili olarak bilmek bile istemediğimiz bazı belirsiz şeyler tarafından kullanılır. Bu quoteişlev muhtemelen bir satıcıya / dağıtıma özgüdür (Debian'a özgü okuyun) ve muhtemelen hiç taşınabilir değildir ve hatta gelecekteki sürümlerde değişebilir.
Düzenle. Ben sadece bir Ubuntu 12.04 sistemi üzerinde kontrol ettim ve quoteişlev tarafından tanımlanır /etc/bash_completion, kaynak tarafından /etc/bash.bashrc, kendisi tarafından kaynaklanır/etc/profile .
Bunu nasıl belirledim? biraz sezgisel kullanma:
Şunlarda quotegörünüp görünmediğini kontrol edin /etc/profile:
grep '\bquote\b' /etc/profile
Hayır. Bir sonraki adıma geçin.
Kaynaklar /etc/profilenelerdir?
grep '[[:space:]]\.[[:space:]]' /etc/profile
Ben $ibu ne kaynaklar için kaynağın içine bakmak (ihtiyacını ancak bu durumda dosyalar var /etc/profile.d/*.shise herhangi biri (ve okunabilir varsa) ve /etc/bash.bashrc. Looking /etc/bash.bashrc.
- Mı
quoteiçinde /etc/bash.bashrc? evet / hayır, vb ...