(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.