我想我缺少了一些非常愚蠢的东西,请纠正我。
root@fdas:~# mount /dev/sdd1 /b 2>&1 > /tmp/test
mount: you must specify the filesystem type
root@fdas:~# cat /tmp/test
root@fdas:~# mount /dev/sdd1 /b > test
mount: you must specify the filesystem type
root@fdas:~# cat test
root@fdas:~#
我只需要捕获那一行输出...提前谢谢
最佳答案
看来,在标准 shell 程序(不是bash/csh)中,您需要告诉它首先将stdout
重定向到何处,然后再重定向stderr
,因此您只需要交换重定向即可:
mount /dev/sdd1 /b > /tmp/test 2>&1
在CSH中,您可以按照Shiplu的建议使用
&
:mount /dev/sdd1 /b >& /tmp/test
在BASH中,
&
的语法不同:mount /dev/sdd1 /b &> /tmp/test
BASH也支持CSH
&
语法,但是不建议(实际上)关于linux - 如何捕获 'mount'输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8682940/