`$(< file)`은 엄격하게 bash입니까, 아니면 `$(< file)`이 실제로 `cat`에 의존합니까? [복사]

`$(< file)`은 엄격하게 bash입니까, 아니면 `$(< file)`이 실제로 `cat`에 의존합니까? [복사]

Bash 매뉴얼에서:

명령 대체를 사용하면 $(cat file)명령을 동일하지만 더 빠른 명령으로 바꿀 수 있습니다 $(< file).

catbash 내장 명령이 아닌 coreutils에서. 그래서 나는 bash 매뉴얼에서 bash가 아닌 다른 것을 언급하고 있다는 사실에 놀랐습니다 cat.

정말 $(< file)의 줄임말 인가요 $(cat file)?

그것은 $(< file)엄격하게 bash입니까, 아니면 $(< file)실제로 그것에 의존 합니까 cat?

$(< file)엄격하게 bash이고 에 의존하지 않는 경우 cat,

  • < file리디렉션인가요, 명령인가요, 아니면 둘 다 인가요 (리디렉션 및 빈 명령 이름이 있는 명령)?
  • < file(리디렉션이 있고 명령 이름이 비어 있는 명령) 표준 출력으로 출력하는 방법은 무엇입니까?

감사해요.

답변1

업데이트: 참조https://unix.stackexchange.com/a/368663/145784다양한 쉘의 유닉스 연산자에 대해 자세히 논의하십시오 $(<.

$(< file)완전히 강타. 이 문은 < file파일을 가져와 이를 stdin호출한 명령으로 리디렉션합니다. 이 경우 는 $()명령 대체 형태이므로 명령을 대체하여 사용됩니다. 수신한 입력을 받아 명령에 사용하기에 적합한 변수로 변환합니다. 외부 프로그램을 호출하지 않기 때문에 cat속도가 더 빠릅니다.

이 변수를 표준 출력으로 출력하려면 다음을 실행하면 됩니다.

echo $(< file)

관련 정보