如何確定腳本內部 - 它是從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