(6 réponses)
Fermé il y a 6 ans.
Pour mon premier script bash, je veux créer quelque chose qui m'a vraiment ennuyé :quand je change de dossier, je veux que le contenu de ce dossier soit affiché automatiquement. J'ai essayé d'ajouter ce code suivant à ~/.bashrc :
alias go='cd; ls'
Assez simple je pensais! Pas si. En tapant go /etc liste bien le contenu de /etc, mon répertoire de travail n'a pas vraiment changé, je suis toujours dans celui où j'étais avant. Comment remédier à cela ?
Réponse acceptée :
Dans votre exemple, go /etc fera cd; ls /etc . Cela signifie, d'abord, cd changera le répertoire courant en votre répertoire personnel. Ensuite, ls /etc affichera le contenu de /etc .
Vous pouvez obtenir ce que vous voulez en définissant une fonction, comme ceci :
function go() {
cd "$1" && ls
}
Ou tapez-le simplement dans la ligne de commande sur une seule ligne :
function go() { cd "$1" && ls; }
Ensuite, go /etc fera ce que vous voulez.
$1 fait référence au premier paramètre passé à la commande dans cet exemple /etc . Vous pouvez vous référer aux paramètres suivants avec $2 , $3 et ainsi de suite.