我有一个 bash 脚本,它使用dd
. 问题是 dd 会抛出大量输出,这些输出会干扰我的脚本输出。环顾四周,我找到了一个解决方案:
dd if=boot1h of="/dev/r$temp1" >& /dev/null
Run Code Online (Sandbox Code Playgroud)
有没有替代方法,或者重定向到/dev/null
唯一的方法?
小智 75
添加status=none
:
dd if=boot1h of="/dev/r$temp1" status=none
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)dd if=boot1h of="/dev/r$temp1" status=none
amp*_*ine 18
从dd(1)
手册页:
status=noxfer
suppress transfer statistics
Run Code Online (Sandbox Code Playgroud)
因此:
dd if=boot1h of="/dev/r$temp1" status=noxfer
Run Code Online (Sandbox Code Playgroud)
这仍然输出
0+1 records in
0+1 records out
Run Code Online (Sandbox Code Playgroud)
dd
退出时垃圾,因此重定向到数据接收器确实是您唯一的选择。
小智 6
备查:
要抑制 dd 输出完全重定向 stderr 到 /dev/null 像这样:
dd if=/dev/urandom of=sample.txt bs=5MB count=1 2> /dev/null
Run Code Online (Sandbox Code Playgroud)
例如,如果您想在 bash 中使用 time 命令为进程计时并将结果分配给变量,而无需获得 dd 产生的任何输出,那么这非常有效。
参考:http : //www.unix.com/shell-programming-and-scripting/131624-how-suppress-dd-output.html