6
我想將文本文件內容讀入Bash變量,如果該文件不存在則抑制錯誤消息。在POSIX,我會做將文件讀入變量,同時抑制「無此文件或目錄」錯誤
var=$(cat file 2>/dev/null)
不過,我看到(例如,在How to read a file into a variable in shell),它是在猛砸貓的無用使用。所以,我想那些:
var=$(< file 2>/dev/null)
var=$(< file) 2>/dev/null
但先不讀了現有的文件,都打印-bash: file: No such file or directory
如果該文件不存在。 這爲什麼不工作?(尤其是:什麼完全打破的第一個?)
什麼工作是這樣的:
{ var=$(< file); } 2>/dev/null
但它的醜陋和繁瑣。所以,是否有更好的語法,或者這是貓的有效使用?