quote
là một chức năng được xác định (ở đây trên hệ thống Debian của tôi, nhưng tôi đoán nó giống với Ubuntu) trong tệp /usr/share/bash-completion/bash_completion
, chính nó có nguồn gốc từ /etc/bash.bashrc
lúc khởi động của Bash.
Tôi sẽ không bao giờ sử dụng chức năng này! Nếu bạn cần trích dẫn nội dung để có thể sử dụng an toàn bằng vỏ, vui lòng sử dụng printf
với công cụ %q
sửa đổi, như:
printf '%q\n' "Hello my friend I like 'single quotes' as well as \"double quotes\""
Trên thực tế, ngay cả điều này rất hiếm khi được sử dụng, luôn có những chiến lược tốt hơn cho những thứ cấp cao như chúng ta, người dùng, thường làm. Thứ này quote
được sử dụng nội bộ bởi một số thứ tối nghĩa mà chúng ta thậm chí không muốn biết. Đây quote
chức năng có lẽ là một nhà cung cấp / phân phối cụ thể (đọc Debian cụ thể) và có lẽ không phải cầm tay ở tất cả, và thậm chí có thể thay đổi trong phiên bản tương lai.
Biên tập. Tôi vừa kiểm tra trên hệ thống Ubuntu 12.04 và quote
chức năng được xác định trong /etc/bash_completion
, có nguồn gốc từ /etc/bash.bashrc
chính nó /etc/profile
.
Làm thế nào tôi xác định điều này? sử dụng một chút heuristic:
Kiểm tra nếu quote
xuất hiện trong /etc/profile
:
grep '\bquote\b' /etc/profile
Không. Đi đến bước tiếp theo.
Các tập tin có nguồn gốc là /etc/profile
gì?
grep '[[:space:]]\.[[:space:]]' /etc/profile
Tôi có $i
(cần xem xét nguồn để biết nguồn này là gì, nhưng trong trường hợp này là các tệp /etc/profile.d/*.sh
nếu có (và nếu có thể đọc được) và /etc/bash.bashrc
. Tìm kiếm /etc/bash.bashrc
.
- Là
quote
trong /etc/bash.bashrc
? có / không, v.v ...