Sto cercando di eseguire comandi Unix su entrambi gli bash.exe
e mintty.exe
, trovato in Cygwin64/bin
(ad es. Usr/bin/bash.exe). Quando provo a eseguire il comando Unix ls
, ottengo bash: ls: command not found
. Tuttavia, quando faccio clic sull'icona del desktop per il terminale Cygwin e inserisco ls
nel terminale Cygwin risultante, Unix comanda come ls
lavoro! Perché i comandi Unix non funzionano su bash.exe
e mintty.exe
, ma sul terminale i risultati facendo clic sull'icona? Inoltre, qual è la differenza delle due shell portate da bash.exe
e mintty.exe
?Cygwin Bash.exe vs mintty.exe
risposta
Questi due programmi non sono in alcun modo alternativi l'uno all'altro. Bash è un shell e MinTTY è un terminal emulator. MinTTY normalmente esegue la shell dell'utente all'interno di se stessa, che può essere o non essere Bash. Vale a dire, di solito usi i due programmi insieme.
Se si esamina la scorciatoia MinTTY creata da Cygwin setup.exe
, si scoprirà che non è un semplice avvio del programma. Lo esegue come mintty -
, che indica a MinTTY di eseguire la shell dell'utente come shell di "accesso".
Questo è il problema che hai incontrato. Se esegui bash.exe
senza opzioni, ottieni la shell nuda, con la sua configurazione predefinita, il che significa che non fa cose come aggiungere il Cygwin /bin
al tuo PATH
. Allo stesso modo, se si esegue mintty.exe
senza opzioni, viene eseguita la shell dell'utente senza opzioni. Quando si dà un trattino a mintty.exe
invece di un nome di programma, viene eseguita la shell dell'utente come shell di login: bash -l
, anziché solo bash
. Quella opzione fa sì che Bash legga in un gruppo di script di avvio subito dopo il lancio, che imposta il comando PATH e molto altro ancora.
Quindi, se si dovesse eseguire bash.exe
fuori MinTTY per qualche motivo, si potrebbe dire bash -l
per ottenere un comportamento un po 'più vicino a quello di bash.exe
quando viene eseguito tramite mintty -
. Perdereste su tutte le funzionalità dell'emulatore terminale, comunque. MinTTY ha un comportamento di copia-incolla molto migliore rispetto alla console di Windows, ad esempio, in particolare su Windows 8 e precedenti.
(Windows 10 incluso a much-improved console, ma MinTTY è ancora meglio, secondo me, soprattutto quando si lavora con Cygwin.)
Say man mintty
al prompt dei comandi Cygwin per una spiegazione più completa di tutte le cose MinTTY fa per voi. Questa particolare domanda ha avuto risposta nella sezione INVOCATION di the MinTTY manual page.
- 1. bash.exe - punto di ingresso non trovato
- 2. Impossibile aprire il terminale cygwin dopo l'installazione
- 3. Apri il comando Cygwin nella directory specificata su windows
- 4. CYGWIN = nodosfilewarning non aiuta Cygwin avvertimento
- 5. cygwin + console2 ctrl-c interrupt tastiera non funzionante
- 6. installazione cygwin
- 7. Esecuzione di un'applicazione, compilata in cygwin, senza aver installato cygwin
- 8. Cygwin 'cd' mi dice sempre: "No such file or directory"
- 9. Come posso avviare Mintty ed eseguire un file di script?
- 10. Python: -mno -cygwin
- 11. git/cygwin silent failure
- 12. .bashrc in Cygwin 1.7
- 13. Node.js Cygwin non supportato
- 14. completamento scheda cygwin
- 15. Abilita Postgresql in Cygwin
- 16. Makefile su Cygwin
- 17. Compile C++ con Cygwin
- 18. Perlbrew funziona con cygwin?
- 19. Cygwin gitk issue
- 20. C++ non installato in Cygwin
- 21. comando configure non trovato cygwin
- 22. Creare core dump su Cygwin
- 23. Backspace in Terminal Vim (Cygwin)
- 24. Rinomina/cambia nome utente cygwin
- 25. windows windows services with cygwin
- 26. Come gestire Eclipse CDT + Cygwin?
- 27. Come eseguire make dall'ambiente Cygwin?
- 28. cygwin ssh no stucco sì?
- 29. Installazione di Ant su Cygwin
- 30. Nutch-Cygwin Come impostare JAVA_HOME
Grazie per la risposta! –