Pour rendre les commandes Cygwin disponibles à partir de bash
, quel que soit le mode d’exécution, ainsi que de cmd
ou de tout autre shell, assurez-vous que Path
le bin
répertoire de Cygwin a été ajouté à votre variable d’environnement .
Allez à Control Panel > System and Security > System
(raccourci clavier standard Win+Pause
), puis Advanced system settings > Environment variables
. Pour tous les utilisateurs, éditez la Path
variable système , juste pour votre utilisateur - éditez (créez s'il n'existe pas) la Path
variable utilisateur .
En supposant que cygwin
soit installé à C:\cygwin
(peut être cygwin64 pour Cygwin 64 bits), ajoutez C:\cygwin\bin
à la Path
. Sachez que si vous utilisez la Path
variable système , si vous ajoutez bin
au début Cygwin, certaines commandes de Cygwin masqueront celles intégrées (par exemple, Cygwin find
sera utilisé à la place de Windows).find
). Je préfère le faire, mais si vous ne le faites pas, ajoutez Cygwin bin
à la fin de votre Path
.
Comme la plupart des autres réponses parlent également de la configuration de ConEmu, je donnerai également mon opinion personnelle.
Je préfère exécuter un shell sans connexion. Par exemple, sous Linux, vous obtenez un shell de connexion lorsque vous vous connectez à la console de texte ou via ssh, et un shell interactif sans connexion lorsque vous ouvrez un émulateur de terminal (xterm, konsole, etc.).
Ma tâche {Bash} a des /dir "%CD%"
paramètres de tâche pour définir le répertoire de travail sur le répertoire de travail de l'onglet actuel (par exemple, si la tâche bash de Far). La commande pour démarrer bash:
%ConEmuDrive%\cygwin\bin\bash.exe -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"
Les --login -i
options de notification sont omises, le shell commencera comme un shell interactif sans connexion (puisqu'il n'a pas d'argument non-option et sans l'option -c, et que stdin et stdout sont connectés aux terminaux, reportez-vous à la section INVOCATION de la page de manuel de bash pour plus d'informations. explication). Il lira et exécutera les commandes de l'utilisateur rcfile ~/.bashrc
(pas /etc/profile
ou ~/.bash_profile
comme le ferait un shell de connexion, vous n'avez donc pas besoin de savoir set CHERE_INVOKING=1
ce qui est pertinent en ce qui concerne /etc/profile
). Mettez donc vos alias d’utilisateur, vos options de shell, vos variables d’environnement supplémentaires, etc. dans ~ / .bashrc, là où ils appartiennent légitimement.