Comment puis-je lancer une nouvelle fenêtre Git Bash avec un répertoire de travail spécifié à l'aide d'un script (Bash ou Windows batch)?
Mon objectif est de lancer plusieurs fenêtres Git Bash à partir d'un seul script, chacune définie dans un répertoire de travail différent. De cette façon, je peux rapidement me mettre au travail après avoir démarré l'ordinateur au lieu d'avoir à ouvrir les fenêtres Git Bash et à naviguer chacune dans le bon répertoire de travail.
Je ne demande pas comment changer le répertoire de travail par défaut, comme le fait cette question , mais pour lancer une ou plusieurs fenêtres de terminal avec différents répertoires de travail à partir d'un script.
bash
shell
batch-file
git-bash
holocronweaver
la source
la source
Réponses:
Une autre option consiste à créer un raccourci avec les propriétés suivantes:
La cible doit être:
Démarrer est le dossier dans lequel vous souhaitez que l'invite Git Bash se lance.
la source
Start in
n'ai jamais su avoir quelque chose à voir avec le répertoire de travail dansGit Bash utilise
cmd.exe
pour son terminal des extensions de MSYS / MinGW qui sont fournies parsh.exe
, une sorte decmd.exe
wrapper. Sous Windows, vous lancez un nouveau terminal à l'aide de lastart
commande.Ainsi, un script shell qui lance un nouveau terminal Git Bash avec un répertoire de travail spécifique est:
(cd C:/path/to/dir1 && start sh --login) & (cd D:/path/to/dir2 && start sh --login) &
Un script batch Windows équivalent est:
C: cd \path\to\dir1 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login D: cd \path\to\dir2 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
Pour obtenir la même police et la même taille de fenêtre que Git Bash lancé à partir du menu Démarrer, il est plus simple de copier les paramètres du raccourci du menu Démarrer dans les paramètres par défaut de la console de commande (pour modifier les paramètres par défaut, ouvrez
cmd.exe
, cliquez avec le bouton gauche sur l'icône en haut à gauche et sélectionnez Valeurs par défaut).la source
cd
dans le répertoire que je veux que Git Bash démarre, puis exécuter lastart
commande dans votre exemple me donnera vraiment un terminal Git Bash dans ce répertoire. Êtes-vous sûr de ne pas faire uncd $HOME
(oucd
sans argument) quelque part dans vos fichiers bash rc? (Comme.bashrc
,.profile
, ...) Gardez également à l' esprit la lettre de lecteur. Si vous voulez démarrer Git Bash sur leX:
lecteur, le fairecd x:\path
ne le coupera pas, vous devez le fairex:
et puiscd \path
avantstart
cd x:\path
. Éditera ma solution en conséquence.cmd.exe
paramètres par défaut ne sont pas les mêmes que les paramètres par défaut de Git Bash lors de l'installation de Git Bash! Et vous devez comprendre les différences entre les paramètres par défaut (àDefaults
partir du menu contextuel) et l'actuel (Properties
). Donc, ce que j'ai fait était: (1) ouvrir Git Bash, sélectionnerProperties
(paramètres actuels), (2) le modifier, exactement, ce que je veux (police, taille de la fenêtre + position), (3) ouvrircmd.exe
, sélectionnerDefaults
, (4 ) copiez-collez les paramètres de Git Bash verscmd.exe
. PuisOK
danscmd.exe
les paramètres,Cancel
dansGit Bash
les paramètres de et le tour est joué!Essayez l'option --cd =. En supposant que votre GIT Bash réside dans C: \ Program Files \ Git, ce serait:
"C:\Program Files\Git\git-bash.exe" --cd="e:\SomeFolder"
S'il est utilisé dans la clé de registre, le paramètre de dossier peut être fourni avec% 1:
"C:\Program Files\Git\git-bash.exe" --cd="%1"
la source
%1
paramètre de registre?Ajoutons encore à la réponse de @Drew Noakes:
Cible:
"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepo
Le
cd
paramètre doit être l'une des options permettant de spécifier le répertoire de travail.Notez également que je n'ai aucun
--login
paramètre là-bas: à la place, j'utilise une autre application supplémentaire, dédiée uniquement aux clés SSH: Pageant (agent d'authentification PuTTY) .Commencez dans:
De la même manière possible, comme @Drew Noakes l'a mentionné / montré ici plus tôt, je l'utilise aussi.
Touche de raccourci:
Ces raccourcis sont une autre fonctionnalité moins connue de Windows. Mais il y a une restriction: pour que le raccourci prenne effet, il doit être placé quelque part dans le sous-répertoire de l'Utilisateur: le bureau va bien.
Si vous ne voulez pas qu'il soit visible, mais toujours activable, placez ce
.lnk
fichier dans le dossier de lancement rapide, car ce répertoire est destiné à de tels raccourcis. (peu importe s'il est affiché sur le bureau) # 76080 # 3619355"\Application Data\Microsoft\Internet Explorer\Quick Launch\"
la source
De plus, Win10 vous offre la possibilité d'ouvrir git bash à partir de votre répertoire de travail en cliquant avec le bouton droit sur votre dossier et en sélectionnant GitBash ici.
la source
Windows 10
C'est essentiellement la réponse de @ lengxuehx, mais mise à jour pour Win 10, et cela suppose que votre installation bash provient de Git Bash pour Windows à partir des téléchargements officiels de git .
cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
J'ai fini par l'utiliser après avoir perdu mes éléments de menu contextuel pour Git Bash comme commande à exécuter à partir des paramètres de registre. Au cas où vous seriez curieux, j'ai fait ceci:
Bash
dans lashell
clé àHKEY_CLASSES_ROOT\Directory\Background\shell
Icon
(pas une nouvelle clé!) Qui est le chemin complet de votre git-bash.exe, y compris la partie git-bash.exe. Vous devrez peut-être mettre cela entre guillemets.Bash
sur le texte que vous souhaitez utiliser dans le menu contextuelBash
appelécommand
command
la valeur par défaut decmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
Ensuite, vous devriez être en mesure de fermer le registre et de commencer à utiliser Git Bash depuis n'importe où qui est un vrai répertoire. Par exemple,
This PC
n'est pas un vrai répertoire.la source
HKEY_CLASSES_ROOT\Directory\Background\shell\git_shell\command
est"C:\Program Files\Git\git-bash.exe" "--cd=%v."
C'est la commande qui peut être exécutée directement dans
Run dialog box
(le raccourci est win+ R) et fonctionne également bien enregistrée en tant que.bat
script:cmd /c (start /d "/path/to/dir" bash --login) && exit
la source
/b
pour Win 10Je ne suis pas familier avec Git Bash, mais en supposant qu'il s'agit d'un shell git (tel que
git-sh
) résidant dans/path/to/my/gitshell
et que votre programme de terminal préféré s'appelle `myterm ', vous pouvez script ce qui suit:(cd dir1; myterm -e /path/to/my/gitshell) & (cd dir2; myterm -e /path/to/my/gitshell) & ...
Notez que le paramètre
-e
d'exécution peut être nommé différemment avec votre programme de terminal favori.la source
myterm
est cmd.exe avec des ajouts via MSYS / MinGW. Pour lancer une nouvelle cmd, vous utilisez lastart
commande spécifique à Windows suivie du chemin vers Git Bash,sh.exe
puis de toutes les options de ligne de commande que vous aimez. Ma réponse donne des détails.J'ai peut-être donné une mauvaise direction, mais j'aime cette astuce.
À l'aide de l'Explorateur Windows, en pointant vers le répertoire de votre choix, tapez "cmd" dans la barre d'adresse, il ouvrira l'invite de commande Windows dans ce répertoire.
Si vous avez le répertoire "Git" dans votre chemin, de la même manière, vous pouvez taper "git-bash" dans la barre d'adresse et un shell Git s'ouvrira dans ce répertoire.
la source