내부 및 외부 명령 대체 리디렉션

내부 및 외부 명령 대체 리디렉션

명령 대체 외부의 다음 리디렉션이 stderr에 대한 출력을 억제하지 않는 이유는 무엇입니까?

OLD_DATE=$(date --date"three days ago")  2> /dev/null

그리고 명령 대체에서 리디렉션을 사용하는 것은 다음을 수행할 수 있습니다.

OLD_DATE=$(date --date"three days ago" 2> /dev/null)

답변1

왜냐하면리디렉션이 적용됩니다.비어 있는할당 후 명령.예를 들어, 다음 명령을 사용하면 동일한 결과가 나타납니다.

OLD_DATE=$(date --date"three days ago") true 2> /dev/null

이는 할당이 없는 동일한 명령입니다.

2> /dev/null

(예, 이것은 유효한 명령줄입니다.)

관련 정보