.bash_profile에서 두 명령을 결합합니다.

.bash_profile에서 두 명령을 결합합니다.

.bash_profile파일에서 두 개의 명령이 차례로 실행되는 명령 별칭을 설정하고 싶습니다. 첫 번째 명령은 명령줄에서 인수를 가져오며, 두 번째 명령은 실제로 스크립트입니다( ~/bin실행 권한이 있는 위치에 있음).

내 프로필 파일에는 다음이 있습니다.

alias pd='function pd2() { pushd "$@"; set_title_tab; }'

다음과 같이 쉘에서 실행해 보았습니다.

$ pd ~/Documents/

오류가 발생합니다.

-bash: 예상치 못한 표시 '~/Documents/' 근처에 구문 오류가 있습니다.

set_title_tabWilliam Scott이 작성한 쉘 스크립트

이를 달성하는 더 좋은 방법이 있습니까?

답변1

별명입력 매개변수는 지원되지 않으며 함수를 별칭으로 래핑할 필요가 없습니다. 그냥 함수를 사용하세요:

pd() {
    pushd "$@"
    set_title_tab
}

pd ~/Documents

답변2

왜 안되나요?

pd () { pushd "$@"; set_title_tab; }

지금 가지고 있는 것은 별칭 내부의 함수 정의입니다. 이는... 특이합니다. 위에서 했던 것처럼 함수를 정의하면 pd다른 명령처럼 사용할 수 있습니다.

관련 정보