Shell
urxvt 不起作用,xterm 適用於同一命令
xterm -e 'sudo iotop -aP'
工作
urxvt -e 'sudo iotop -aP'
不工作
top
命令對兩者都有效知道發生了什麼嗎?
如何使它工作?
它在 xterm 中工作,因為 xterm 多次嘗試執行給定的命令或通過execvp-call執行命令。在第一種情況下,將所有標記
-e
視為單個字元串,在後者中,標記必須分開(用於 execvp 呼叫)。這是其與 介面的副作用,從手冊頁中提到luit
的可能並不明顯:當使用區域設置過濾器時,例如,通過**
-e
**選項或外殼,xterm首先嘗試通過該過濾器傳遞控制。如果失敗,xterm將在沒有區域設置過濾器的情況下重試。 Xterm 在重試之前警告失敗。但是查看原始碼會更清楚(
command_to_exec
是用於-e
選項的字元串數組,而組合的命令字元串是xterm****command_to_exec_with_luit
**首次嘗試的)。大多數終端仿真器不這樣做。