参数
-d, —directory 用于创建目录而非文件定 -u, —dry-run 不要创造任何东西;仅仅打印一个名字 -q, —quiet 忽略错误
-t 在/tmp目录下创建临时文件 (默认在tmp下创建 但是指定格式的时候是创建在当前目录下的 )
指定随机格式
test]# mktemp/tmp/tmp.QEEGvimfULtest]# ll /tmp/tmp.QEEGvimfUL-rw------- 1 root root 0 Jan 19 11:25 /tmp/tmp.QEEGvimfULtest]#test]# mktemp -d/tmp/tmp.W62lnUwJqUtest]# ll -d /tmp/tmp.W62lnUwJqUdrwx------ 2 root root 6 Jan 19 11:22 /tmp/tmp.W62lnUwJqUtest]# mktemp -u/tmp/tmp.jPXByz25petest]# ll /tmp/tmp.jPXByz25pels: cannot access /tmp/tmp.jPXByz25pe: No such file or directorytest]# mktemp tep.XXXXtep.1T0ltest]# lstep.1T0ltest]# mktemp -t tep.XXXX/tmp/tep.EJYLtest]# ll /tmp/tep.EJYL-rw------- 1 root root 0 Jan 19 11:24 /tmp/tep.EJYL
在shell中使用mktemp
在shell脚本中 经常需要临时创建一个文件 并且在脚本结束之后清理掉这个文件 这个时候就可以使用mktemp
#!/bin/bash
trap 'rm -f "$TMPFILE"' EXIT
TMPFILE=$(mktemp) || exit 1
echo "Our temp file is $TMPFILE"
trap 命令
trap命令用来在 Bash 脚本中响应系统信号。trap的命令格式如下。
$ trap [动作] [信号1] [信号2] ...
信号常用的有以下几个
HUP:编号1,脚本与所在的终端脱离联系。 INT:编号2,用户按下 Ctrl + C,意图让脚本中止运行。 QUIT:编号3,用户按下 Ctrl + 斜杠,意图退出脚本。 KILL:编号9,该信号用于杀死进程。 TERM:编号15,这是
kill命令发出的默认信号。 EXIT:编号0,这不是系统信号,而是 Bash 脚本特有的信号,不管什么情况,只要退出脚本就会产生。
如果trap需要触发多条命令,可以封装一个 Bash 函数。
1. function egress {
2. command1
3. command2
4. command3
5. }
6.
7. trap egress EXIT
trap应该写在哪里 行首吗?
