file1
다음과 같이 실행 파일을 만듭니다 .
cat > file1 <<EOF
#!/bin/bash
mutt -e "push '<'"
EOF
chmod +x file1
./file1
기존 터미널에서 실행하면 mutt가 실행되고 첫 번째 메시지가 선택됩니다(명령이 <
수행하는 작업). 실행하면 xterm -e ./file1
xterm이 열리고 mutt를 실행한 후 첫 번째 메시지가 선택됩니다. 그러나 실행하면 urxvt -e ./file
urxvt가 열리고 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-terminal
mutt와 동일한 동작이 발생하므로 xterm
뭔가 잘못된 것처럼 보이지만 urxvt
mutt 이외의 다른 것으로는 이러한 동작의 차이를 재현할 수 없습니다. 정확히 무슨 일이 일어나고 있는 걸까요?