Zsh
使用 $(< file) 讀取文件時,您可以擷取或消除錯誤嗎?
我可以使用 zsh 讀取文件
$(< file)
;例如:% 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)
也可以使用。
即使在進行變數賦值時,您也可以以正常方式重定向。
x=$(< doesnt-exist) 2>/dev/null ; print -r -- $x
那應該是沉默的。