스크립트 내부에서의 결정 방법 - eshell 또는 일반 쉘 (bash 등)에서 실행되었는지 여부?스크립트의 실행 환경 (eshell vs bash)
2
A
답변
0
단순히 ~/이맥스에 (에서는 setenv "EMACS", "t")를 추가 스크립트의 부모 프로세스에 보일 것이다. 그래서이 행동은 모든 이맥 껍질에서 동일합니다.
+1
물론 eshell에서 실행하는 사람을 위해 잘 작동하는 휴대용 스크립트를 작성하려는 경우이 방법은 도움이되지 않습니다. – phils
1
나는 처음 How do I tell a shell that it is running from within Emacs?의 중복으로이 표시,하지만 난 그것을 명시 적으로 eshell
을 언급하지만, 단지 shell
및 term
및 ansi-term
에 적용 할 것 같은 대답은, 결함 또는 오래된 있다고 생각합니다. eshell
은 이 이맥스에서 실행할 수있는 유일한 종류의 쉘이어야합니다.은 명백한 환경 변수를 설정합니까?
5
Eshell은 특정 환경 변수를 설정하지 않습니다. $TERM
을 확인할 수 있습니다 : Eshell에서 dumb
으로 설정되어 있습니다.
보다 정확한 검사가
if [ -t 1 ] && [ "$TERM" = "dumb" ] && [ "$(ps -o comm= -p $PPID)" = "emacs" ]; then
echo "This looks a lot like eshell"
fi
관련 문제
- 1. bash 스크립트의 실행 순서
- 2. 환경 변수가있는 bash 스크립트의 JRuby 문
- 3. bash 스크립트의 $() 내부 명령어
- 4. 쉘 스크립트의 전역 환경 변수
- 5. bash 스크립트의 결과 출력
- 6. eshell 환경 변수가 eshell에 나타나지 않는다
- 7. bash 스크립트의 Standard_in 오류
- 8. bash 스크립트의 명령으로서의 변수
- 9. Bash 스크립트의 pidof 문제
- 10. bash 스크립트의 동시 로깅
- 11. bash 스크립트의 형식 출력
- 12. bash 스크립트의 Puppet 호출하기
- 13. bash 스크립트의 "This Friday"
- 14. bash 스크립트의 개행 해석
- 15. bash 스크립트의 편향된 동작
- 16. bash 스크립트의 크기
- 17. Bash 스크립트의 SQL 구문 오류
- 18. bash 스크립트 실행 순서
- 19. 마지막 실행 시간에서 값을 유지하는 Bash 스크립트의 변수
- 20. bash 스크립트의 오류 메시지를 끄기
- 21. bash 스크립트의 "대체 화면"사용
- 22. Linux 설정 bash 스크립트의 예제
- 23. bash 스크립트의 의미에 대해 묻습니다.
- 24. Java에서 bash 스크립트의 데이터 손실
- 25. 펄 스크립트의 bash 스크립트 출력
- 26. bash 스크립트의 [...]는 무엇을 의미합니까?
- 27. bash 스크립트의 다음 행은 무엇을합니까?
- 28. bash 스크립트의 중첩 된 케이스
- 29. 이 bash 스크립트의 오류는 무엇입니까?
- 30. bash 스크립트의 이미지 알림 표시
다른 이맥스 셸 옵션에서 사용할 수있는 환경 변수와 비슷한 환경 변수를 eshell이 추가해야한다는 것이 합당한 것처럼 보일 수 있으므로이 보고서 ('M-x report-emacs-bug')에 대한 버그 보고서를 로깅 할 가치가 있습니다. – phils