Accueil Humour Macintosh Print66 Sélection Éditeur
  MacOS X | MacOS classique | Pourquoi ?
Cet élément comporte 5 parties :   Intro | 1 |2 |  3 | 4 | << Préc | Suiv >>

Personnalisation de zsh

Tcsh est je l'ai dit le shell proposé par défaut par l'application Terminal. Cette option prise par Apple pour un shell dit de type "C" est susceptible de provoquer un certain nombre de guerres de religions... Disons que beaucoup de monde préfère les shells de type "Bourne", et que du fait que Linux utilise par défaut le shellbash, beaucoup se sentiront sans doute plus à l'aise en se retrouvant face à un environnement de ce type...

On peut installer bash sur MacOS X, mais franchement cela me parait beaucoup de travail pour pas grand chose, car MacOS X est également livré avec zsh, qui est au moins aussi intéressant que bash et lui ressemble fortement... Seul problème, zsh est livré dans MacOS X Beta assez brut de fonderie, et le travail de personnalisation est donc encore plus nécessaire que pour tcsh. Dans votre répertoire ~ (/Users/votre_nom_utilisateur), vous pourrez installer un fichier .zprofile qui pourrait avoir la tête ci-après :

Exemple de fichier ~/.zprofile
#
# $HOME/.zprofile
#

HISTFILE=~/.zsh_history
SAVEHIST=30

PS1="[%m:%3c] %n%# "

alias edit="pico"
alias type="less -E"
function dir() { ls -lgAF "$@" | more ;}

PATH="~:~/bin:/usr/local/bin:/usr/bin/:/bin:\/usr/local/sbin:/usr/sbin:/sbin"

J'y définis un fichier historique qui me permet de sauvegarder les commandes précédentes avec les touches fléchées du clavier.

PS1 est le prompt affiché par le shell. Pour plus de détails sur PS1, utilisez la commande man zshparam.

La commande alias a une syntaxe différente de celle de tcsh.

Pour définir la pseudo-commande "dir", je suis obligé de définir une fonction pour passer le paramètre (les noms de fichiers) au bon endroit...

Enfin, je définis le chemin d'accès par défaut...

Pour que votre shell au lancement de Terminal soit zsh, il vous faut modifier vos préférences dans Terminal pour indiquer comme shell /bin/zsh.

Lorsque tout est au point, utilisez l'application NetInfoManager (installée dans le répertoire /Applications/Utilities) : en suivant le chemin /users/votre_nom_utilisateur, modifiez la propriété shell pour mettre /bin/zsh au lieu de /bin/tcsh... Vous serez ainsi sûr de tomber sur le bon shell même si vous n'utilisez par Terminal.

Au passage, notez que NetInfoManager est extrêmement important pour la configuration de MacOS X. Commencez par regarder ce qu'il y a là avant de faire ce que la littérature sur les Unix BSD recommande de faire...

Le 1% vraiment nécessaire pour survivre avec les shells

Le problème, c'est que DOS est un faux ami de Unix (en fait, c'est une très mauvaise imitation). Donc, on risque d'utiliser la syntaxe de l'un pour l'autre. Les alias définis précedemment éviteront les lapsus les plus fréquents. Pour le reste, apprenez tout de suite les équivalences... Pour en savoir plus, utilisez la commande man

Équivalences MS/DOS et Unix
MS-DOS Unix
COPY cp
DEL rm
DELTREE rm -rf
MOVE mv
REN mv
DIR fichier /S find . -name fichier
MD mkdir
RD rmdir

Si un nom de fichier contient des espaces, l'entourez de guillemets (")

Redirections et combinaisons : > < >> |

Jokers : * ?

Quelques plus

Unix a le joker [ ]. Utilisez :

  • [abc]* pour désigner tous les fichiers dont le nom commence par a, b ou c,
  • *[I-N,1,2,3] pour désigner tous les fichiers dont le nom finit par I, J, K, L, M, N, 1, 2 ou 3.

La touche TAB permet d'abréger la frappe d'une commande. Essayez, c'est presque magique...

su vous permet d'ouvrir une session sans quitter celle en cours. Ex : su root. Pour fermer une session : exit

open vous permet d'ouvrir un fichier comme si on l'avait double-cliqué dans l'interface graphique. Ex : open /Applications/TextEdit.app

Cet élément comporte 5 parties :   Intro | 1 |2 |  3 | 4 | << Préc | Suiv >>
  MacOS X | MacOS classique | Pourquoi ?