Io-Redirection
如何辨識“sudo …”命令輸出格式?
我附上了 bash -x 輸出,它顯示命令“sudo iwlist wlan0 scan”已執行並將預期文本返回到終端。問題是 - 此文本未傳遞給whiptail msgbox 選項。
其他“sudo …”命令失敗,並且僅使用“sudo .. 命令。我的猜測是輸出文本中有非列印字元導致此問題。
sudo iwlist wlan0 scan wlan0 Interface doesn't support scanning : Network is down whiptail --title 'Command sudo iwlist wlan0 scan output 1400' - -separate-output --scrolltext --msgbox '' 17 80 10
每當您不確定時,請嘗試將 stdout 然後 stderr 重定向到 /dev/null。
例如,
lsusb -h > /dev/null
您仍然可以看到輸出,而lsusb -h 2> /dev/null
沒有輸出 - 因此,幫助的輸出轉到 stderr。如果您想將 stderr 重定向到 stdout:
lsusb -h 2>&1
這並不明顯(起初),但此命令的作用是將 stderr(文件描述符 #2)重定向到 stdout(文件描述符 #1)。