shell中可能经常能看到:>/dev/null 2>&1
命令的结果可以通过 %> 的形式来定义输出,其中 %> 代表文件描述符
我们将这个命令组合:“>/dev/null 2>&1” 拆为四部分来分析下:
1:首先 0> 表示stdin标准输入; 1> 表示stdout标准输出; 2> 表示stderr错误输出;
2:符号 > 等价于 1> (系统默认为1,省略了先); 所以">/dev/null"等同于 "1>/dev/null"
3:/dev/null 代表空设备文件
4:& 可以理解为是"等同于"的意思,2>&1,即表示2的输出重定向等同于1
因此,>/dev/null 2>&1 也可以写成“1> /dev/null 2> &1”
那么本文标题的语句执行过程为:
1>/dev/null :首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
2>&1 :接着,将标准错误输出重定向 到 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
相关推荐
在 `nohup /mnt/Nand3/H2000G >/dev/null 2>&1 &` 这个例子中,`>/dev/null` 表示将标准输出(文件描述符 1)重定向到 `/dev/null`,这是一个特殊的设备文件,任何写入它的数据都会被丢弃,相当于“黑洞”。`2>&1` ...
相信大家经常能在shell脚本中发现>/dev/null 2>&1这样的语句。以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>&1 >/dev/null,出了一点小问题之后,我才开始去了解这段...
在Shell脚本中,我们经常会遇到`>/dev/null 2>&1`这样的重定向操作,它是用来处理命令的输出和错误的。接下来,我们将详细解释这个命令的含义和作用。 首先,`>/dev/null`是将标准输出(标准输出的文件描述符为1)...
/bin/tar -cf /backup/$1.$DATE.tar $1 > /dev/null 2>> /backup/$1.bak.log /bin/gzip /backup/$1.$DATE.tar if [ $? -eq 0 ] then echo "$1 $DATE backup successfully" >> /backup/$1.bak.log else echo "ERROR...
### Linux Shell 常用技巧详解 在 Linux 系统中,Shell 是用户与操作系统交互的主要方式之一。本文将深入探讨几个常用的 Shell 技巧及其应用场景。 #### 1. 使用 `/dev/null` 和 `/dev/tty` 在 Linux 系统中,`/...
- `mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null`:备份单个数据库到指定文件,忽略错误输出。 #### 多循环备份 - **脚本功能**:分别备份MySQL数据库中的每个数据库及其所有表到单独的...
expr $1 + 1 &>/dev/null if [ $? -ne 0 ] then echo 请输入数字 exit 1 fi if [ $# -ne 2 ] then echo 请输入两个数字 exit 1 fi echo a+b=$((a+b)) echo a-b=$((a-b)) echo a*b=$((a*b)) echo a/b=$((a/b)...
- 示例:`find / -name test > /dev/null 2>&1` 的含义是搜索根目录下的名为 "test" 的文件,并将输出重定向到空设备文件 `/dev/null`,同时将错误输出也重定向到同一位置。 #### 五、Shell 变量管理 - **变量...
上述Cron表达式的含义是:每天凌晨1点执行`/opt/soft/bin/auto-del-30-days-ago-log.sh`脚本,其中`> /dev/null 2>&1`用于忽略脚本执行时产生的任何输出信息,确保不会发送邮件提醒。 通过这种方式,我们可以轻松...
使用`2 >/dev/null`可以忽略错误信息,例如`find / -name access_log 2 >/dev/null`。 #### 3. 按尺寸查找 使用`-size`选项,如`find / -size 1500c`查找1500字节的文件,`+`表示大于,`-`表示小于。 #### 4. 按...
### Linux Shell 编程知识点详解 #### 综述篇 **Shell是什么** - **定义**:Shell 是一种特殊的程序,充当用户与 Linux 或 Unix 操作系统内核之间的接口。它接收用户的输入,并将这些指令传递给操作系统的核心...
ping -c 1 -W 1 10.1.250.$host &> /dev/null && { echo "10.1.250.$host is online" let online++ } || { let offline++ } done echo "Online hosts number : $online" echo "Offline hosts number : $...
if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG=`dirname "${PRG}"`/"$link" fi done BASEDIR=`dirname ${PRG}` BASEDIR=`cd ${BASEDIR}/..;pwd` if test -z ${JAVA_HOME}; then JAVA_BIN...
- 示例:`11:07:16~/rails server 2>&1 > /dev/null &` - 启动Rails服务器,并将标准错误和标准输出合并后重定向到`/dev/null`,即丢弃输出。 3. **后台运行**: - 示例:`11:07:16~/rails server &>/dev/...
ps -ef | grep qmail | grep tcpserver | awk '{print $2}' | xargs kill > /dev/null 2>&1 killall qmail-send > /dev/null 2>&1 ``` 最后删除Qmail服务的锁文件。 ```sh if [-f /var/lock/subsys/qmail]; then ...
- `> /dev/null`:将输出重定向到/dev/null,即丢弃输出。 - `if [ $? -ne 0 ]`:如果上一个命令的返回值不等于0,则执行以下命令。 - `service vrm start`:启动vrm服务。 - `date`:打印当前日期时间,这里...
- 示例:`ls /nonexistent/directory > /dev/null` **脚本包含:** - 使用 `. filename` 或 `source filename` 命令可以在当前Shell脚本中包含另一个Shell脚本。 - 示例:`. /path/to/another_script.sh` #### ...
00 8-18/1 * * * cut -f1 /xyz/x1 >> /backup/bak01.txt ``` **示例3:** 每天5:50对`/data`目录进行压缩备份。 **脚本内容:** ```bash 50 5 * * * tar zcvf backup.tar.gz /data ``` **示例4:** 每天5:55卸载CD...