2011-12-30 51 views

回答

2

看來,標準的外殼(未慶典/ 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 &語法太,但它不是推薦(人類)

+0

2>&1發送stderr(2)到**當前**標準輸出(1),因此您需要在**之後執行此操作**您已將標準輸出重定向到> – joeytwiddle 2012-02-03 03:47:53

1

你想捕捉stderr。以下將捕獲所有。

mount /dev/sdd1 /b >& /tmp/test 
+0

我欣賞它 – 2011-12-30 19:05:22

+0

@Shiplu'&'只有在我沒有弄錯的時候纔是bash。 '2&1>/tmp/test'有什麼問題?它應該工作,但它不適用於某些應用程序(包括安裝) – 2011-12-30 19:06:03

+0

@Shiplu和爲什麼'>&/ tmp/test'而不是'&>/tmp/test'?他們似乎都在工作 – 2011-12-30 19:07:47

1

重定向語法取決於外殼。
有兩種類型 - bash(或Bourne shell系列)和csh(或C shell系列)
在csh中,使用「cmd> &文件」重定向stdout & stderr。
在bash中,使用「cnd 2> & 1> file」來做同樣的事情。
更多信息here

+0

OKay,謝謝 – 2011-12-30 19:36:26