quote
파일에 정의 된 함수입니다 (여기서는 데비안 시스템에 있지만 우분투에서 동일하다고 생각합니다). /usr/share/bash-completion/bash_completion
그 자체는 /etc/bash.bashrc
Bash가 시작할 때 제공됩니다 .
나는이 기능을 절대로 사용하지 않을 것이다! 쉘이 안전하게 사용할 수 있도록 따옴표를 인용해야하는 경우 다음 printf
과 같이 %q
수정 자 와 함께 사용하십시오 .
printf '%q\n' "Hello my friend I like 'single quotes' as well as \"double quotes\""
실제로 이것은 매우 드물게 사용되지만 사용자가 일반적으로하는 것처럼 상위 수준의 물건에 대한 더 나은 전략이 항상 있습니다. 이것은 quote
우리가 알고 싶지 않은 모호한 것들에 의해 내부적으로 사용됩니다. 이 quote
기능은 공급 업체 / 배포 별 (데비안 전용)이며 아마도 이식성이 없으며 향후 릴리스에서 변경 될 수도 있습니다.
편집하다. 방금 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
? 예 / 아니요 등