--tty-only 옵션의 기능은 무엇입니까?

--tty-only 옵션의 기능은 무엇입니까?

방금 내 시스템 관리자가 다음에 대한 전역 별칭을 만들었다는 것을 깨달았습니다 which.

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

맨페이지에는 which간단히 다음과 같이 나와 있습니다.

tty가 아닌 경우 오른쪽 옵션 처리를 중지합니다.

무슨 뜻이에요?

답변1

설정:

$ /usr/bin/which --show-dot a
./a
$ /usr/bin/which --show-tilde a
~/a

.대화형으로 실행할 때는 버전을 원 하지만 ~리디렉션할 때는 버전이 필요한 경우 다음을 별칭으로 사용할 수 있습니다.

/usr/bin/which --show-tilde --tty-only --show-dot

데모:

# interactive / on a tty
$ /usr/bin/which --show-tilde --tty-only --show-dot a
./a
# not interactive / redirected to a file
$ /usr/bin/which --show-tilde --tty-only --show-dot a > output
$ cat output 
~/a

--tty-only나중에 지정하는 모든 옵션은 출력이 tty인 경우에만 고려됩니다.

답변2

이는 출력이 다음과 같다는 것을 의미합니다 which.아니요터미널을 참조하여 실행아니요프로세스 --read-alias및 .--show-dot--show-tilde

일반적으로 파이프, 일반 파일 등

which watch | foo # not a tty
which watch > foo # not a tty
which watch       # tty
which watch >&2   # tty

이러한 옵션은 예를 들어 인식되지 않습니다.데비안:

관련 정보