파이프 라우팅을 사용한 후 이러한 출력을 파일로 보낼 수 없는 이유는 무엇입니까?
이 예를 통해 내가 의미하는 바를 더 잘 이해할 수 있습니다. 내 예에서는 명령 대신 라우팅 연산자(" >
") 를 사용하여 cat
출력을 라우팅할 수 없는 이유는 무엇입니까?
사용 cat
명령:
└─$ whoami | cat > out.txt
└─$ cat out.txt
testter
명령 없음 cat
:
└─$ whoami | > out1.txt
└─$ cat out1.txt
#no any content in file..
└─$ whoami | >> out2.txt
└─$ cat out2.txt
#no any content in file..
명령 대신 대체 도구를 사용할 수도 있습니다 cat
. cat
여기서 중요한 것은 도구가 아닙니다. 내가 묻고 싶은 것은 >
파이프에서 직접 데이터를 라우팅하기 위해 라우팅 연산자 " "를 사용할 수 없는 이유는 무엇입니까?
ベストアンサー1
개념적으로 파이프는 왼쪽 명령의 출력을 오른쪽 명령의 입력에 연결하여 작동합니다.
따라서 다음 줄은 다음과 같습니다.
whoami | cat > out.txt
whoami
기본적으로 에 인쇄되지만 stdout
파이프가 있으므로 의 입력에 연결됩니다 cat
.
그렇다면 이것은 무엇을 의미합니까?
whoami | > out.txt
글쎄, 당신은 무엇이든 출력을 추가한다는 뜻입니다 whoami
. 그런 다음 콘텐츠의 출력을 파일로 리디렉션합니다.out.txt
この>
演算子は、右側のパラメータで指定されたファイルを切り捨て、必要に応じてファイルを作成し、左側のコマンドの出力をそのファイルにリダイレクトすることを意味します。気づく
> out.txt
空のファイルが生成されます。