이 명령을 사용할 때 cat <<< Hey > text.txt text.txt
text.txt 파일에 "Hey"를 쓴 다음 파일을 표시하고 싶습니다. 그러나 출력이 없습니다. Bash는 실제로 그것을 어떻게 해석합니까?
명령 및 출력:
$ cat <<< Hey > text.txt text.txt
$ cat text.txt
$
답변1
리디렉션을 약간 재정렬하면 의미가 있을 수 있습니다.
<<< Hey > text.txt cat text.txt
Hey
이 문자열은 cat의 표준 입력으로 전송됩니다. text.txt
쓰기 위해 열었고 잘렸습니다. 따라서 그 안에 텍스트가 있으면 사라집니다.
cat
매개변수를 사용하여 실행됩니다 text.txt
. 파일이 매개변수로 제공되므로 표준 입력을 무시하므로 Hey
사용되지 않습니다. text.txt
잘려서 인수가 cat
실행될 때 text.txt
출력할 것이 없으므로 text.txt
표준 출력, 즉 리디렉션을 통해 cat
계속 비어 있습니다.