发布网友 发布时间:2022-04-23 12:56
共2个回答
热心网友 时间:2023-10-14 10:28
2>/dev/null 是将错误输出重定向到文件/dev/null,/dev/null是由系统维护的一个垃圾站并且自动清空,你可以用cat工具看看,里面是空的。如果你删了这句,错误输出将显示到屏幕。2是一个文件描述符,代表标准错误输出文件,默认为屏幕即/dev/stdout,另外0代表标准输入,1代表标准输出。学Shell推荐你看sobell的“Linux命令、编辑器与shell编程”,不要被一些烂书误导了。
参考资料:如果您的回答是从其他地方引用,请表明出处
热心网友 时间:2023-10-14 10:28
2>/dev/null 的意思是把运行 ((1/0)) 时打印的错误信息重定向到 /dev/null,也就是把错误信息完全屏蔽掉了。这样执行这个脚本就不会看到系统打印的 ((1/0)) 的错误提示,而只能看到脚本自己所有的 echo 信息。 如果你去掉那段重定向,再执行这个脚本,就会在输出的
Exit status of ((1/0)) is 1
这段话前面看到一段类似于下面的错误信息(bash里除0的错误提示)
bash: ((: 1/0: division by 0 (error token is "0")
热心网友 时间:2023-10-14 10:28
2>/dev/null 是将错误输出重定向到文件/dev/null,/dev/null是由系统维护的一个垃圾站并且自动清空,你可以用cat工具看看,里面是空的。如果你删了这句,错误输出将显示到屏幕。2是一个文件描述符,代表标准错误输出文件,默认为屏幕即/dev/stdout,另外0代表标准输入,1代表标准输出。学Shell推荐你看sobell的“Linux命令、编辑器与shell编程”,不要被一些烂书误导了。
参考资料:如果您的回答是从其他地方引用,请表明出处
热心网友 时间:2023-10-14 10:28
2>/dev/null 的意思是把运行 ((1/0)) 时打印的错误信息重定向到 /dev/null,也就是把错误信息完全屏蔽掉了。这样执行这个脚本就不会看到系统打印的 ((1/0)) 的错误提示,而只能看到脚本自己所有的 echo 信息。 如果你去掉那段重定向,再执行这个脚本,就会在输出的
Exit status of ((1/0)) is 1
这段话前面看到一段类似于下面的错误信息(bash里除0的错误提示)
bash: ((: 1/0: division by 0 (error token is "0")