在一些shell经常中见到>/dev/null
与>/dev/null 2>&1
# 这里有>,/dev.null,2>&1,最后一个&
0 0 * * * /data/test.sh > /dev/null 2>&1 &
几个基本符号及其含义
/dev/null
表示空设备文件
>
代表重定向到
0
表示stdin标准输入
1
表示stdout标准输出
2
表示stderr标准错误
&
表示等同于的意思,2>&1,表示2的标准错误输出重定向等同于1标准输出
最后一个&
表示在后台中运行,后面会有解释
测试文件test.sh
#!/bin/sh
mm
date
# 标准执行,错误与输出都显示在终端
[dev ~]$ ./test.sh
./test.sh: line 2: mm: command not found
Thu Jul 26 14:50:08 CST 2018
/dev/null
# 禁止标准输出到终端,只显示了标准错误
[dev ~]$ ./test.sh > /dev/null
./test.sh: line 2: mm: command not found
[dev ~]$
# 禁止标准错误到终端,显示了标准输出
[dev ~]$ ./test.sh 2> /dev/null
Thu Jul 26 14:53:33 CST 2018
[dev ~]$
# 禁止标准错误和标准输出都显示在终端,此时无任何输出
[dev ~]$ ./test.sh > /dev/null 2>&1
[dev ~]$
>重定向
>
表示覆盖写,>>
表示追加写
# 12345刚刚打印到终端,后重定向写入m.text
[dev ~]$ echo 12345
12345
[dev ~]$ echo 12345 > m.text
[dev ~]$ ls
m.text test.sh
[dev ~]$
# 每次执行echo,>都会覆盖上次内容,>>追加内容
[dev ~]$ echo 12345 > m.text
[dev ~]$ cat m.text
12345
[dev ~]$ echo 12345 > m.text
[dev ~]$ cat m.text
12345
[dev ~]$ echo 12345 >> m.text
[dev ~]$ cat m.text
12345
12345
基本符号
|| 逻辑符号
这个会时常看到,代表 or 逻辑的符号。
&& 逻辑符号
这个也会常看到,代表 and 逻辑的符号。
& 后台工作
单一个& 符号,且放在完整指令列的最后端,即表示将该指令列放入后台中工作。
https://blog.csdn.net/loryliu/article/details/52440192
https://www.cnblogs.com/lidabo/p/4323979.html