如何确定脚本内部 - 它是从eshell还是从正常shell(bash等)执行?脚本的执行环境(eshell vs bash)
2
A
回答
0
只需添加(SETENV “EMACS”, “T”)到〜/的.emacs的父进程。所以这个行为在所有的emacs shell中都是一样的。
+1
当然,如果意图是编写一个便携式脚本,而这个脚本恰好适用于在eshell下运行它的任何人,这将无济于事。 – phils 2012-03-28 11:17:38
1
我最初被标记将此作为How do I tell a shell that it is running from within Emacs?重复,但我认为答案有硬伤的或过时的,因为尽管它明确提到eshell
,似乎只适用于shell
和term
和ansi-term
。 eshell
必须是唯一一种你可以在Emacs中运行的shell,不会设置一个明显的环境变量?
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脚本未能执行bash脚本
- 2. 执行PHP脚本到Django环境?
- 3. 执行bash脚本
- 4. 执行bash脚本
- 5. BASH脚本,环境变量和PID
- 6. 用bash脚本设置java ProcessBuilder环境
- 7. bash脚本不拾取环境变量
- 8. bash/expect/loop - 如何循环执行telnet的简单bash脚本
- 9. Bash脚本 - 执行语法
- 10. bash脚本执行顺序
- 11. bash脚本执行dig -x
- 12. 从php执行bash脚本
- 13. 在bash脚本中执行perl脚本
- 14. 使用eshell脚本
- 15. node - package.json:如何执行设置环境变量的脚本
- 16. Unix环境中的多线程/并行Bash脚本
- 17. 在ruby/knife环境中执行bash脚本时如何实现幂等性?
- 18. 如何在Nant脚本中执行Teamcity中的环境变量(环境)
- 19. eshell环境变量未出现在eshell中
- 20. 在Python环境中运行Python脚本?
- 21. 在C++中执行shell命令时强制执行环境bash
- 22. 如何在posix环境中运行bash shell脚本?
- 23. bash脚本在多个docker-compose环境中运行测试
- 24. 无法在当前环境中多次运行BASH脚本
- 25. 如何从出口环境变量NPM脚本运行bash脚本
- 26. Bash脚本:粘贴并执行一个外部bash脚本
- 27. 从bash脚本执行python脚本时逃脱bash通配符?
- 28. 如何逐行执行bash脚本?
- 29. 如何在bash脚本中的循环中执行SQL?
- 30. 将环境传递给父项的python shell脚本执行
可能值得为此记录一个错误报告('M-x report-emacs-bug'),因为'eshell'应该将类似的环境变量添加到可用于其他Emacs shell选项的环境变量似乎是完全合理的。 – phils 2012-03-26 00:47:35