누른 키를 무시하는 방법

누른 키를 무시하는 방법

키와 매개변수를 지정해야 하는 bash 스크립트가 있습니다. 별칭을 사용하여 명령을 만들었습니다.

alias command="pushd /path; ./somescript.sh; popd"

스크립트 작업이 완료되면 스크립트가 호출된 디렉터리로 돌아가야 합니다.

하지만 오류가 발생합니다.

bash: popd: -o: invalid number
popd: using: popd [-n] [+N | -N]

내 시스템의 언어가 영어가 아닙니다. 원본과 다르게 보이면 죄송합니다. 어떻게 해야 합니까?

답변1

이것은 잘 작동합니다:

$ alias foo="pushd /; ls -ld ./tmp; popd"
$ foo
/ ~
drwxrwxrwt 12 root root 4096 Dec 25 19:30 ./tmp/
~

그러나 별칭이 지정된 중간 명령에 매개변수를 전달해야 하는 경우 함수를 사용해야 합니다. 그렇지 않으면 매개변수가 별칭 끝에 추가되어 매개변수 역할을 합니다 popd.

대신 이렇게 하세요:

something() {
    pushd /path > /dev/null
    ./somescript.sh "$@"
    popd > /dev/null
}
something -o blahblah

별칭/함수 로 사용된 이름 command은 호출하기에 가장 좋은 이름이 아닐 수 있습니다. 이는 외부 명령을 호출하는 데 사용되는 쉘 내장이며 동일한 이름을 가진 함수를 건너뜁니다.

관련 정보