Crie um arquivo executável file1
da seguinte forma:
cat > file1 <<EOF
#!/bin/bash
mutt -e "push '<'"
EOF
chmod +x file1
A execução de ./file1
em um terminal existente executa o mutt e seleciona a primeira mensagem (é isso que o comando <
faz).
Executar xterm -e ./file1
abre o xterm, executa o mutt e seleciona a primeira mensagem. No entanto, executar urxvt -e ./file
abre o urxvt, executa o mutt, mas seleciona a mensagem último (o padrão na ausência da diretiva "push '<'").
Alguma idéia sobre por que urxvt -e ./file1
se comporta dessa maneira específica?
Mais pistas:
Com o seguinte arquivo, xterm -e ./file2
e urxvt -e ./file2
resultam no comportamento pretendido.
cat > file2 <<EOF
#!/bin/bash
echo foo
sleep 1
mutt -e "push '<'"
EOF
chmod +x file2
O seguinte arquivo ainda resulta no comportamento pretendido com o xterm, mas eu vi urxvt -e ./file3
resultar em ambos os comportamentos não deterministicamente.
cat > file3 <<EOF
#!/bin/bash
echo
mutt -e "push '<'"
EOF
chmod +x file3
O teste com gnome-terminal
produz o mesmo comportamento que xterm
, portanto, parece que algo está errado com urxvt
, mas não consegui reproduzir essas diferenças no comportamento com outra coisa que não seja mutt. O que diabos está acontecendo aqui?