Pour rendre les commandes Cygwin disponibles à partir de bash, quel que soit le mode d’exécution, ainsi que de cmdou de tout autre shell, assurez-vous que Pathle binré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 Pathvariable système , juste pour votre utilisateur - éditez (créez s'il n'existe pas) la Pathvariable utilisateur .
En supposant que cygwinsoit installé à C:\cygwin(peut être cygwin64 pour Cygwin 64 bits), ajoutez C:\cygwin\binà la Path. Sachez que si vous utilisez la Pathvariable système , si vous ajoutez binau début Cygwin, certaines commandes de Cygwin masqueront celles intégrées (par exemple, Cygwin findsera 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 -ioptions 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/profileou ~/.bash_profilecomme le ferait un shell de connexion, vous n'avez donc pas besoin de savoir set CHERE_INVOKING=1ce 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.