$(< file)
예를 들어 다음을 사용하여 zsh에서 파일을 읽을 수 있습니다.
% print 'Hello, world!' > test
% x=$(< test); print $x
Hello, world!
그러나 다음과 같은 오류가 stderr에 인쇄됩니다.
% x=$(< doesnt-exist); print $x
zsh: no such file or directory: doesnt-exist
# The actual error in my script, for posterity.
% x=$(< /sys/class/hwmon/hwmon4/temp2_input); print $x
zsh: error when reading /sys/class/hwmon/hwmon4/temp2_input: no such device or address
이 오류를 포착하거나 제거할 수 있는 방법이 있습니까? 가독성을 테스트하거나 cat 2>&1
종료 코드(제가 지금 사용하고 있는 코드)를 사용하고 확인할 수 있지만 그것도 작동하는지 알고 싶습니다 $(< file)
.
답변1
변수 할당 시에도 일반적인 방법으로 리다이렉트가 가능합니다.
x=$(< doesnt-exist) 2>/dev/null ; print -r -- $x
그건 침묵해야 합니다.