차이점을 알고 싶습니다.입력/출력 리디렉션그리고명령 대체?
which
예를 들어, 명령 출력을 cd
명령(디렉토리가 아닌 것으로 알고 있음) 으로 리디렉션 하려는 경우 해당 cd
명령은 리디렉션을 사용하지 않습니다 which
.
예를 들어 which w3af | cd
? 와 같은 명령 대체를 사용해야 하는데 cd $( which w3af )
, 왜 그렇습니까?
답변1
인용한 특정 예의 경우 명령 대체를 사용해야 합니다.
cd -P -- "$(dirname -- "$(which w3af)")"
이유는 간단 cd
합니다 STDIN
. 매개변수만 허용하기 때문입니다.
또한 which command
디렉터리 대신 파일 경로가 생성됩니다.
답변2
이는 명령이 수락되었는지 테스트하는 방법입니다 stdin
. 이는 완전한 것은 아닙니다.
% { wc ; cat ; } <<INTEST
nope
INTEST
> 1 1 5
% { cd ; cat ; } <<INTEST
nope
INTEST
> nope