setup • Terminal shell — Bash vs Zsh - martindubenet/wed-dev-design GitHub Wiki

Git apps  ][  Git via Terminal (CLI)  ][  Terminal command lines (CLI)  ][  Setup Terminal shell  ]

Setup Terminal shell

Zsh VS Bash Mac

Since macOS Catalina, Apple is now using Zsh as the default shell. Zsh is only the default shell on newly created user accounts, so any existing accounts you have on an upgraded Mac will still use Bash by default unless you change it. Each user account has its own default shell preference.

Note that Zsh shell is not on Windows!

Read about Bash VS Zsh shell or here from Apple Support

Shell command lines

Command Description
echo $SHELL Know what shell is active
chsh -s /bin/bash Switch to Bash terminal shell
chsh -s /bin/zsh Switch to Zsh terminal shell
which zsh Validate that you have Zsh intalled

Follow this link to know more Terminal common command lines.

 

Customize your Terminal

By default Terminal displays «$USERNAME@hostname ~ % » (%n@%m %c %# ) as a prefix to every command line. This repetitive string can get quite long and create noise when reading the Terminal.

As explained in this unix.stackexchange comment we can edit the « ~/.zshrc » file to add a customized prompt line by choosing from available Prompt expansions.

Customize your Zsh config file

These 3 command lines will redirects to your Username's root directory and creates the config file.

cd ~/ && touch .zshrc

Open that config file in your VS Code editor.

code ~/.zshrc

Change the displayed command line prefix

The following prompt login info followed by 2 different shell states will print a shorter «$USERNAME ~ % » whithout your your macOs’s HostName.

PROMPT="%n %c %# "

Add color to the command line prefix

Edit the the above prompt expansions by wrapping it within a visual effect: (1) uppercase %F to Start a foreground (text) color declaration, (2) Apply the {cyan} color then (3) lowercase %f to Close the color declaration.

PROMPT="%F{cyan}%n %c %# %f"

See how to configurate Git shortcuts with alias

Custom shortcuts via Terminal alias

In order to speed-up changing directory to the root of my git repositories:

alias cdwww="cd ~/Projects/www"

Reload Zsh Terminal

Reload the shell profile with your saved configuration [+]

source ~/.zshrc

Customize Bash Terminal from Git For Windows

Pour personnaliser la chaîne de charactère verte qui s'affiche dans Git Bash, vous pouvez ajouter des informations spécifiques à votre invite de commande dans le fichier ~/.bashrc. Voici comment procéder :

  1. Ouvrez le fichier ~/.bashrc dans un éditeur de texte de votre choix (par exemple, nano, vim, ou gedit).
  2. Ajoutez la personnalisation souhaitée à la variable PS1. La variable PS1 contrôle l'apparence de l'invite de commande. Voici quelques exemples de personnalisation que vous pouvez utiliser :
    1. Pour afficher une version épurée de la string des nouvelles lignes de commande :
      # Manage how the new (command) line is displayed
      PS1="$PS1 "
    2. Pour afficher votre nom d'utilisateur et le nom de l'hôte (machine) :
      # Manage how the new (command) line is displayed
      PS1="\u@\h $ "
      Cela affichera quelque chose comme votre_nom@définition_du_nom_de_votre_machine $.
    3. Pour afficher uniquement le nom de l'hôte (machine) :
      # Manage how the new (command) line is displayed
      PS1="\h $ "
      Cela affichera quelque chose comme définition_du_nom_de_votre_machine $.
    4. Pour afficher un symbole personnalisé (par exemple, une flèche) :
      # Manage how the new (command) line is displayed
      PS1=""
      Cela affichera simplement .
  3. Pour créer des shortcuts de vos lignes de commandes usuelles :

    Puisqu'il s'agit d'un Terminal Linux c'est la même syntaxe ici que pour macOS seul le path vers le driver « C:/ » change pour /c/.

    # Custom shortcuts
    alias cdgit="cd /c/Projects"
    alias cdwww="cd /c/Projects/www"
  4. Une fois que vous avez ajouté la personnalisation souhaitée, enregistrez le fichier ~/.bashrc.
  5. Pour appliquer les modifications, exécutez la commande suivante dans votre terminal :
    source ~/.bashrc

Maintenant, lorsque vous ouvrirez un nouveau terminal Git Bash (sur Windows), l'invite de commande sera personnalisée selon vos préférences ! N'hésitez pas à ajuster la variable PS1 en fonction de vos besoins.

 

Terminal text editors

Nano and Vim on macOS

  1. Nano, now replaced by Pico, a simple command-line editor. It’s a good introduction to using a command-line editor because it includes easy-to-follow on-screen help.
    Paste this line in your browser to launch pico (or nino on older version) General Commands Manual in your Terminal app:
    • x-man-page://nano
  2. Vim is a vi-compatible text editor. It has many powerful enhancements for moving around, searching, and editing documents. Basic editing is simple to learn, and there’s additional functionality to explore. You can access most of the functionality by using keystroke combinations that trigger certain behavior. vim, or the editor it’s modeled after, vi, is found in most UNIX-based operating systems.
    Paste this line in your browser to launch vim General Commands Manual in your Terminal app:
    • x-man-page://vim

 

Use ChatGTP within your Terminal

  1. First get your (free) ChatGPT API key from your OpenAi account,
  2. Install ShellGpt on your workstation

    Note that in the linked tutorial the author named the app in lowercases « shellgpt » VS me in PascalCases.

  3. Run ShellGpt
    source ShellGpt/bin/activate
  4. Ounce started, enter your query within the double quotes using this syntax (Read more on GitHub)
    sgpt ""
    For shell commands
    sgpt -s ""
    For generating code
    sgpt --code ""
⚠️ **GitHub.com Fallback** ⚠️