저는 우분투 18.04를 실행 중이고 askubuntu에 이 질문을 했지만 응답을 받지 못했기 때문에 다른 포럼에 질문하고 다른 독자가 있기를 바랍니다. 우분투 16.04에서도 동일한 문제가 발생한다는 것을 알고 있습니다. 이 문제를 해결하는 방법을 알고 싶습니다. 또는 적어도 이것이 다른 버전의 Linux에서 더 일반적으로 발생하는지 알고 싶습니다.
다음 명령
xterm -e ' tcsh'
내 .cshrc 파일을 두 번 호출합니다. 하지만 이 명령은 한 번만 호출합니다.
xterm -e 'tcsh'
같은 것
xterm -e 'cd `pwd`;tcsh'
분명히 첫 번째 호출과 나머지 두 호출의 유일한 차이점은 공간입니다. 왜 하나의 공간이 이렇게 큰 차이를 만들어내는 걸까요?
이를 테스트하기 위해 .cshrc의 MWE 버전을 사용했습니다.
#/bin/tcsh
echo called from cshrc
에서도 동일한 문제가 발생합니다.
xterm -e " csh"
이 문제를 해결하는 방법에 대한 제안을 보내주셔서 감사합니다!
답변1
추측: 선행 공백은 호출할 명령이 없다는 것을 의미하므로 xterm
이를 쉘 스크립트로 해석하고 .cshrc
인수를 사용하여 표준 쉘을 호출한 다음(분명히 읽기도 함) tcsh
호출하고 tcsh
다시 읽으십시오 .cshrc
.
를 사용하여 이것이 실제로 일어나는 일인지 확인할 수 있습니다 strace
.
처음에 공백을 사용하지 않으면 이 문제를 "수정"할 수 있습니다.