urxvt -eとxterm -eの違い

urxvt -eとxterm -eの違い

file1次のように実行可能ファイルを作成します。

cat > file1 <<EOF
#!/bin/bash
mutt -e "push '<'"
EOF
chmod +x file1

./file1既存の端末で実行すると、muttが実行され、最初のメッセージが選択されます(コマンドが<実行するアクション)。実行すると、xterm -e ./file1xtermが開き、muttを実行した後に最初のメッセージが選択されます。ただし、実行するとurxvt -e ./fileurxvtが開き、muttを実行すると選択されます。最後メッセージ ("push '<'" ディレクティブのないデフォルト値)。

なぜurxvt -e ./file1この特定の方法で動作するのかというアイデアはありますか?


追加手がかり:

次のファイルを使用すると、xterm -e ./file2どちらもurxvt -e ./file2期待される動作を生成します。

cat > file2 <<EOF
#!/bin/bash
echo foo
sleep 1
mutt -e "push '<'"
EOF
chmod +x file2

urxvt -e ./file3次のファイルはまだxtermの予想される動作を引き起こしますが、両方の動作が未定義の結果を生成することを確認しました。

cat > file3 <<EOF
#!/bin/bash
echo              
mutt -e "push '<'" 
EOF
chmod +x file3

muttでテストするとgnome-terminalmuttと同じ動作が発生するため、xterm何かが間違っているように見えますが、urxvtmutt以外のものではこれらの動作の違いを再現できません。正確に何が起こっているのでしょうか?

ベストアンサー1

おすすめ記事