Touch
創建一個新文件並使用詳細開關
使用
mkdir
命令創建新目錄時,我可以簡單地添加 -v 選項來確定是否創建了新目錄。它節省了不發出ls -F
命令的時間。有什麼方法可以確保使用該touch
命令創建了一個新文件?或者我應該使用另一個命令而不是touch
?
這就是退出狀態的用途。
touch
是更新文件時間戳的命令,或者如果該文件最初不存在則創建它。如果它實現了該目標,它將在其退出狀態中返回*成功,否則失敗¹。*如果失敗,它通常會輸出一條關於它的錯誤消息,詳細說明失敗的方式。
if touch -- "$file"; then printf '%s\n' "$file was created or updated" fi
在你的腳本中,如果你想確保如果
touch
沒有成功就不會繼續,你可以這樣寫:touch -- "$file" || exit
(此處腳本將以與 報告的相同的失敗退出狀態退出
touch
)。或者
else exit
在上面的if
語句中添加一個。¹
touch
也可能會報告失敗,即使它在某些病理情況下設法更新文件,例如它被殺死或耗盡某些資源。在大多數情況下,您的腳本可能會認為更新文件失敗