여러 <<< 사용

여러 <<< 사용

<<< 을(를) 리디렉션하는 것에 대해 궁금합니다 bash. 내용이 가상 파일에 있는 것처럼 다음 체인을 이전 명령으로 리디렉션한다는 것을 알고 있습니다. 예

$ cut -d. -f1 <<< A.B
A
$ cut -d. -f1 <<< 'A.B
> C.D'
A
C 

그러나 여러 번 사용하면 어떻게 될지 이해가 되지 않습니다. 예

$ cut -d. -f1 <<< A.B <<< C.D
C

나는 다음과 같은 결과를 예상했을 것입니다

A
C

쉘이 마지막 리디렉션만 고려하는 이유는 무엇입니까? 파일에 더미 라인을 추가하는 방법은 무엇입니까? 파일을 command가져와 처리 하기 위해 다음 예제와 같은 작업을 수행하고 싶습니다 .virtual linemy_file

command <<< "virtual line" my_file 

노트bash: 버전을 사용하고 있습니다 4.4.12(1)-release (x86_64-pc-linux-gnu).

답변1

<<<표준 입력을 리디렉션합니다. stdin을 리디렉션한 다음 다시 리디렉션하면 첫 번째 리디렉션이 손실됩니다.

명령에 "process stdin"을 나타내는 방법이 있는 경우(예: for가 cat대시인 경우) 다음과 같이 명령 앞에 줄을 추가할 수 있습니다.

cat - input_file <<< 'virtual line'

답변2

대안 제공조 로바의 답변, 다음 구문을 사용하여 보다 완전한 입력을 구성할 수 있습니다.

command  << EOF
virtual line
`cat input_file`
EOF

관련 정보