4
所以我有一個腳本在另一個腳本上運行測試用例。我試圖在運行測試用例時重定向stderr。這是給我的問題的一部分是讀命令:Bash讀取和stderr重定向
SCRIPT1內:
read -p "Delete $file? (y/n) " input
testscript內:
$script $opts $file 2>/dev/null
從SCRIPT1讀取調用重定向爲好。
所以我有一個腳本在另一個腳本上運行測試用例。我試圖在運行測試用例時重定向stderr。這是給我的問題的一部分是讀命令:Bash讀取和stderr重定向
SCRIPT1內:
read -p "Delete $file? (y/n) " input
testscript內:
$script $opts $file 2>/dev/null
從SCRIPT1讀取調用重定向爲好。
將提示重定向到stdout。
read -p "Delete $file? (y/n) " input 2>&1
你可以去簡單:
echo "Delete $file? (y/n)"
read input
爲什麼會讀取調用發送擺在首位,以標準錯誤? – kjprice 2011-05-12 20:48:10
這就是它在我的bash手冊頁中記錄的方式:'-p提示符:顯示標準錯誤提示符'' – 2011-05-12 20:58:16
>爲什麼要將讀取調用首先發送到stderr? ...我會打電話給打印提示功能。如果您只有2個要使用的流stdout和stderr,則需要將實際數據轉換爲stdout,以便僅傳遞stderr以傳遞非數據信息。 (也就是說,除了錯誤消息,stderr可以用於其他信息流)...祝你好運! – shellter 2011-05-13 14:09:05