2017-08-08 66 views
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 

但它的醜陋和繁瑣。所以,是否有更好的語法,或者這是貓的有效使用?

回答

相關問題