2015-12-21 22 views
1

我正在打bash,我的任務是打印出最後修改的子文件夾中的所有文件,我只能使用一行命令。 這是我到目前爲止有:如何讓貓不打印任何東西,如果該文件夾是空的

cat "$(ls -t | head -1)"/*.* 

這是正常工作,除非最新修改的文​​件夾爲空,在這種情況下,貓會返回一個錯誤。我需要避免這種情況,讓貓打印什麼都沒有。

+0

'貓「$(ls -t | head -1)」2>/dev/null' – anubhava

+0

非常感謝! – user5607926

+1

歡迎來到stackoverflow!將來,將您的代碼縮進四個空格。這將讓明星顯示,因爲它阻止了所有其他特殊格式。我這次爲你修好了。 –

回答

2

考慮將標準錯誤重定向到/dev/null。這會導致命令產生的任何錯誤消息被髮送到標準以外的地方。如果您的cat引發錯誤,則該消息將被髮送到其他地方,/dev/null忽略它或某個文件,如果您想記錄它。你的命令看起來是這樣的:

cat "$(ls -t | head -1)"/*.* 2> /dev/null 

2代表標準錯誤,以便2>被它引導到後指定的位置。

0

2>的/ dev/null的 此錯誤重新方向將重新直接所有錯誤消息到轉儲不能恢復,

使用命令2>的/ dev/null的