我写了一个简短的bash脚本来完成一项任务,包括创建一个临时目录并在其中存储各种文件并对其执行各种操作.
在我的第一遍中,我刚刚在/tmp/$$.$script创建了临时目录,但后来我在没有写入/ tmp /的访问权限的计算机上测试了脚本,我想采取考虑到这种情况.所以我的问题是这个临时目录的第二个好位置?我应该只使用当前目录吗?主目录?〜/ tmp /?脚本的输出位置?
所有创建的文件都会在脚本退出时清除.
许多系统也有/var/tmp
.如果系统管理员不希望你写入/tmp
,可能他们提供了一些替代方案...... $TMPDIR
环境变量集是什么?例如,在我的Mac上:
$ echo $TMPDIR /var/folders/jf/jfu4pjGtGGGkUuuq8HL7UE+++TI/-Tmp-/
我建议〜/.[你的脚本名称]/tmp,如果没有设置TMPDIR,而不是〜/ tmp /,因为用户可能已经自己创建了(并且你可能不想意外覆盖那里的东西).
就像bash中的袖口一样 -
case $TMPDIR in '') tmp_dir=".${0}/tmp";; *) tmp_dir=$TMPDIR;; esac