내 .bash_profile
파일에서 두 개의 명령이 차례로 실행되는 명령 별칭을 설정하고 싶습니다. 첫 번째 명령은 명령줄에서 인수를 가져오며, 두 번째 명령은 실제로 스크립트입니다( ~/bin
실행 권한이 있는 위치에 있음).
내 프로필 파일에는 다음이 있습니다.
alias pd='function pd2() { pushd "$@"; set_title_tab; }'
다음과 같이 쉘에서 실행해 보았습니다.
$ pd ~/Documents/
오류가 발생합니다.
-bash: 예상치 못한 표시 '~/Documents/' 근처에 구문 오류가 있습니다.
set_title_tab
는William Scott이 작성한 쉘 스크립트
이를 달성하는 더 좋은 방법이 있습니까?
답변1
별명입력 매개변수는 지원되지 않으며 함수를 별칭으로 래핑할 필요가 없습니다. 그냥 함수를 사용하세요:
pd() {
pushd "$@"
set_title_tab
}
pd ~/Documents
답변2
왜 안되나요?
pd () { pushd "$@"; set_title_tab; }
지금 가지고 있는 것은 별칭 내부의 함수 정의입니다. 이는... 특이합니다. 위에서 했던 것처럼 함수를 정의하면 pd
다른 명령처럼 사용할 수 있습니다.