xterm -e 'sudo iotop -aP'
仕事を
urxvt -e 'sudo iotop -aP'
しないでください。
top
このコマンドは両方とも動作します。
何が起こったのか知っていますか?
どのように機能させるのですか?
答え1
xtermは与えられたコマンドを実行または渡すために何度も試みるので、xtermで動作します。execvp 呼び出し。最初のケースでは、次のすべてのトークンが-e
単一の文字列として扱われ、後者の場合、トークンは次のようになります。分離(execvp呼び出しの場合)。これはインターフェイスの副作用です。luit
、明らかではないかもしれないマニュアルページに記載されています。:
たとえば、ロケールフィルタを使用する場合は、次のようにします。
-e
オプションまたはシェル、xtermまず、このフィルタを使ってコントロールを渡してみてください。失敗した場合、xtermロケールフィルタなしで再試行します。 Xterm 再試行する前に失敗について警告します。
しかし、報告ソースコードより明確になります(command_to_exec
次に使用される文字列の配列です。-e
オプション、しかしcommand_to_exec_with_luit
コマンド文字列を結合する最初の試みです。xterm)。
ほとんどの端末エミュレータはこれを行いません。
答え2
引用符の削除が機能します。
urxvt -e sudo iotop -aP