使用命令创建新目录时mkdir
,我只需添加 -v 选项即可查看新目录是否创建。它可以节省不发出命令的时间ls -F
。有什么方法可以确保使用该命令创建新文件touch
?或者我应该使用另一个命令而不是touch
?
答案1
这就是退出状态的用途。
touch
是更新文件时间戳或创建文件(如果文件最初不存在)的命令。
它会返回成功如果实现了该目标,则处于退出状态,否则失败。如果失败,它通常会输出一条错误消息,详细说明失败的方式。
if touch -- "$file"; then
printf '%s\n' "$file was created or updated"
fi
在你的脚本中,如果你想确保如果touch
没有成功就不会继续,你可以这样写:
touch -- "$file" || exit
(此处脚本将以与 报告的相同的失败退出状态退出touch
)。
else exit
或者在上面的语句中添加一个if
。
touch
即使它在某些病态情况下成功更新了文件,例如它被杀死或耗尽了某些资源,也可能会报告失败。在大多数情况下,您的脚本可能会将其视为更新文件失败