Ale*_*ski 0 linux command-line files delete
我正在尝试让我的 shell 脚本更安全一些。如果由于某种原因未定义变量,我考虑使用默认值,例如:
rm -r "${OUTPUT_DIR:-/dev/null/this_path_does_not_exists}"
Run Code Online (Sandbox Code Playgroud)
使用不存在的路径是我想出的解决方案。然后我想,如果有一个系统范围的接收器(/dev/null),也许有一个文件或伪文件,可以安全地删除而不影响系统。所以我的问题如下 - 是否有一个文件:
与其试图提出一个始终存在但也始终可以删除的文件(或目录),为什么不在使用变量之前显式检查变量呢?
\n[ -d "$OUTPUT_DIR" ] && rm -r -- "$OUTPUT_DIR"\nRun Code Online (Sandbox Code Playgroud)\n如果$OUTPUT_DIR为空或指向不存在或不是目录的内容,则不会尝试删除任何内容。