예를 들어, 내 .profile에 다음 기능이 있습니다.
alias () {
command alias "$@"
}
그러나 이는 다음을 수행합니다.
$ alias test=ls
내가 달리면
$ alias test="ls"
인용된 문자열을 허용하도록 하려면 어떻게 해야 합니까?
답변1
명령줄의 큰따옴표는 파서에서 사용됩니다. 함수를 호출할 때 전체 별칭 표현식을 작은따옴표로 묶거나 백슬래시로 각 큰따옴표를 이스케이프해야 합니다(또는 이스케이프 표시와 따옴표 표시를 혼합). 그러므로:
alias foo='echo "hi there"'
alias bar="echo "\"hi\ there\"
별칭 오른쪽에 공백을 포함할 수 있도록 별칭을 재정의하려는 경우 다음을 사용해야 합니다.
command alias "$*"
차이점은 이 버전은 다음과 같이 공백(IFS의 첫 번째 문자)으로 구분된 모든 위치 매개변수를 확장한다는 것입니다 alias
.
alias foo=echo over here