我試圖在bash.exe
和mintty.exe
上找到的Cygwin64/bin
(例如,usr/bin/bash.exe)上運行Unix命令。當我嘗試運行Unix命令ls
時,我得到bash: ls: command not found
。但是,當我單擊Cygwin終端的桌面圖標並在產生的Cygwin終端中輸入ls
時,像ls
這樣的Unix命令可以工作!爲什麼Unix命令不能在bash.exe
和mintty.exe
上工作,但在終端上點擊圖標的結果?此外,bash.exe
和mintty.exe
帶來的兩個炮彈有什麼不同?Cygwin Bash.exe與mintty.exe
回答
這兩個程序沒有任何方式替代彼此。 Bash是shell,MinTTY是terminal emulator。 MinTTY通常在你自己的內部運行你的用戶的shell,這可能是也可能不是Bash。也就是說,你通常一起使用這兩個程序。
如果您檢查Cygwin的setup.exe
構建的MinTTY快捷方式,您會發現它不是該程序的簡單啓動。它運行它爲mintty -
,它告訴MinTTY將用戶的shell作爲「登錄」shell運行。
這是您遇到的問題。如果您運行的是bash.exe
而沒有選項,則只需使用其默認配置即可得到裸機,這意味着它不會執行將Cygwin /bin
添加到您的PATH
之類的操作。同樣,如果您在沒有選項的情況下運行mintty.exe
,它將運行沒有選項的用戶shell。當您給破折號mintty.exe
而不是程序名稱時,它會將用戶的shell作爲登錄shell運行:bash -l
,而不僅僅是bash
。該選項使Bash在啓動後立即讀入一堆啓動腳本,該命令會設置命令PATH以及更多內容。
因此,如果你不得不MinTTY外面跑bash.exe
出於某種原因,你可能會說,當通過mintty -
運行bash -l
拿到行爲有點更接近的bash.exe
。但是,您將失去所有終端仿真器功能。例如,MinTTY比Windows的控制檯具有更好的複製粘貼行爲,特別是在Windows 8和更早版本上。
(視窗10包括a much-improved console,但MinTTY仍然是更好的,恕我直言,與Cygwin的工作時尤爲如此。)
說man mintty
在爲所有的事情MinTTY爲您做更全面的解釋Cygwin的命令提示符。這個特定的問題在INVOCATION部分the MinTTY manual page中回答。
- 1. CSHARP的cygwin不能殺mintty.exe
- 2. CygWin mintty.exe(x64)立即在WIndows 7(64)
- 3. tr命令會導致cygwin bash.exe外殼出現問題,但可以在mintty.exe中運行
- 4. Runtime.getRuntime()。exec(「C:\ cygwin \ bin \ bash.exe」)沒有輸入可讀
- 5. bash.exe - 切入點,試圖安裝cygwin時未發現
- 6. 在作爲第一個參數傳遞給bash.exe的路徑上打開Cygwin
- 7. 與cygwin鏈接
- 8. 如何將mintty.exe設置爲Windows上的默認終端?
- 9. Git的「Bash.exe」vs「Git Bash.vbs」
- 10. 如何將參數傳遞給Babun中的Bash Shell,並將其集成到Conemu中?
- 11. Cygwin Perl CGI與Xampp
- 12. 無法在Cygwin中
- 13. 執行NodeJS的cygwin命令
- 14. 如何編寫一個批處理(Windows)啓動Cygwin(mintty.exe)然後執行一個python腳本?
- 15. 在Eclipse中從Ant構建文件執行Bash.exe時出錯
- 16. 用Cygwin的cron啓動記事本
- 17. 在Windows emacs/cmd.exe cygwin外殼
- 18. 如何打開cygwin終端?
- 19. PHP了shell_exec bash.exe不會在Windows XP操作系統的IIS工作
- 20. git-bash.exe:如何運行單個命令?
- 21. 將%ComSpec%從cmd.exe更改爲bash.exe
- 22. python subprocess.call()無法找到Windows Bash.exe
- 23. Cygwin的解釋與Ctrl-C
- 24. 與Cygwin一起使用Git
- 25. addind FILE_SHARE_READ模式與cygwin
- 26. 我如何與Cygwin玩好?
- 27. Cygwin的 - 出口與SET
- 28. 與Cygwin問題的OCaml
- 29. Cygwin與某種鑰匙環
- 30. 用windows編譯ncmpcpp與cygwin
謝謝你的回答! –