답변:
이 시도:
alias -- -=popd
적어도 나를 위해 일했습니다.
usr@srv % alias -- -=echo
usr@srv % - test
test
--
옵션의 끝을 표시합니다. 그 이후의 모든 것은 논쟁입니다. 예를 들어 logger foo -x bar
"foo bar"를 기록 -x
하고 옵션으로 logger -- foo -x bar
취급하지만 "foo -x bar"메시지에서 일반 단어로 취급합니다.
--
명령은 명령 행에서 더 이상 옵션이 따르지 않으며 다음에 오는 -
옵션은 옵션으로 해석되지 않음을 나타냅니다 . 따라서 이것은 ;-)cat
-
다음 bash
과 같은 이름의 함수를 작성할 수 있습니다.
+() { pushd "$@"; }
-() { popd "$@"; }
$@
입니까?
$@
에서 함수 또는 스크립트에 제공된 모든 인수로 확장됩니다. 인용되지 않은 것과 같은 방식으로 작동합니다 $*
. 그러나 큰 따옴표 안에 있으면 추가 분할없이 원래 제공된 것과 정확히 동일한 단어로 확장됩니다 .
$@
함수에 전달 된 모든 매개 변수로 확장됩니다 (에 해당 "$1" "$2" ...
). 자세한 내용을 보려면 man bash
특수 매개 변수를 수행 하고 검색하십시오.
--
정확히 무엇입니까?