← Tous les exemples
Terminal
Ghostty

Lancer un script dans une nouvelle fenêtre Ghostty

Ouvrir Ghostty dans un répertoire de projet précis, exécuter un script de configuration (sourcer des variables d'environnement, démarrer un conteneur, charger des accès), puis basculer dans un shell interactif lorsque le script se termine.

Le piège

L'approche intuitive open -na Ghostty --args -e /bin/bash -c "./scripts/setup-env.sh; exec $SHELL -i" semble correcte, mais elle échoue de deux façons :

  1. Deux onglets s'ouvrent au lieu d'un. Le drapeau -e de Ghostty ne consomme qu'un seul jeton après lui comme exécutable. Tout ce qui suit (-c, le chemin du script, la ligne de shell) est interprété comme des drapeaux Ghostty distincts, et -c provoque l'ouverture d'un second onglet.
  2. command not found pour les outils Homebrew. Passer à --command= règle le problème des onglets, mais Ghostty encapsule la valeur dans bash --noprofile --norc. Vos fichiers .zprofile et .zshrc ne sont jamais chargés, donc /opt/homebrew/bin est absent du PATH et tout ce qui est installé via Homebrew devient introuvable.

Configuration qui fonctionne

{
  "label": "Ouvrir un shell projet (prod)",
  "type": "command",
  "command": "open",
  "args": [
    "-na", "Ghostty",
    "--args",
    "--working-directory=/Users/vous/Code/votre-projet",
    "--command=zsh -lc './scripts/setup-env.sh prod; exec zsh -i'"
  ]
}

Collez cette action dans n'importe quel service, groupe ou raccourci. Remplacez ces trois valeurs par les vôtres :

Pourquoi ça fonctionne

Prérequis