Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/03/2008, à 19:52

B2n

[BASH] commande cd

Je suis en train de faire un script pour pouvoir me deplacer rapidement vers les repertoires que j'utilise souvent. Voici le code :

case "$1" in
media)
cd /media/
;;
data)
cd "/media/DATA/"
;;
doc)
echo "Mes Documents"
cd "/media/DATA/Mes\ Documents/"
;;
*)
echo "Nom du repertoire inconnu"
;;
esac

Seulement, la commande cd s'execute que dans le script, c'est-à-dire que lorsque je fais un `ls` à la fin de mon script, ca m'affiche bien le repertoire indiqué en paramètre mais moi ce que je veux c'est que le terminal se "déplace" dans le repertoire indiqué en paramètre. Comment faire ?

Hors ligne

#2 Le 15/03/2008, à 20:31

best_friend_fr

Re : [BASH] commande cd

Salut,

un script est execute dans son propre bash.

Pour faire ce que tu veux, il faut creer une fonction dans le fichier .bashrc


sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr

Hors ligne

#3 Le 15/03/2008, à 21:11

GentooUser

Re : [BASH] commande cd

Y'a déjà un programme qui fait ça mais je ne me rappelle plus du nom.

EDIT: trouvé http://www.skamphausen.de/software/cdargs/

Dernière modification par GentooUser (Le 15/03/2008, à 21:18)

Hors ligne

#4 Le 16/03/2008, à 13:03

®om

Re : [BASH] commande cd

Pour le "media" au lieu de "/media" c'est pas vraiment économique smile

Pour le reste, tu peux faire des liens symboliques dans ton home.

Par exemple:

ln -s "/media/DATA/Mes\ Documents" ~/docs

comme ça tu auras un répertoire docs dans ton home...

Hors ligne

#5 Le 16/03/2008, à 20:46

Myddrin

Re : [BASH] commande cd

je ne comprends pas ce que tu souhaites... pourquoi vouloir aller plus vite dans les répertoires que tu utilise souvent en ligne de commande ?

L'indentation (avec tabulation) est largement assez rapide (une à deux lettre suffisent pour accéder au bon dossier...


Join us now and share the software;
You'll be free, hackers, you'll be free.

écoutez la sur http://www.gnu.org/music/free-software-song.au

Hors ligne

#6 Le 16/03/2008, à 21:57

kaer

Re : [BASH] commande cd

Un script bash s'exécute dans son propre contexte qui disparait quand le script est terminé. ceci dit, tu peux sourcer un script au lieu de l'exécuter. A lieu de :

$ monscript.sh

tu fais:

$ . monscript.sh

Je crois que ça injecte simplement les lignes dans ton bash courant.

Ceci dit, pour ce que tu veux faire, outre ce qui a déjà étéproposé, tu peux aussi utiliser des alias. Tu ajoutes par exemple les lignes suivantes en bas de ton fichier ~/.bashrc:

alias cdmed="cd /media/"
alias cddata="cd /media/DATA/"
alias cdmesdoc='cd /media/DATA/Mes\ Documents/"

A toi de vérifier, j'ai rien testé (et fais une copie de ~/.bashrc avant de le modifier wink
)

@Myddrin: tu veux dire l'autocompletion, je suppose ?

Hors ligne

#7 Le 17/03/2008, à 15:47

Myddrin

Re : [BASH] commande cd

oui je voulais dire l'autocomplétion...


Join us now and share the software;
You'll be free, hackers, you'll be free.

écoutez la sur http://www.gnu.org/music/free-software-song.au

Hors ligne

#8 Le 17/03/2008, à 16:42

kaer

Re : [BASH] commande cd

Dans sa signature, Myddrin a écrit :

écoutez la sur http://www.gnu.org/music/free-software-song.au

C'est le cousin australien et ... open-source de Michel : http://michelnet2.free.fr/mp3/album3/Michel_IngenieurInformaticien.mp3

wink;);)

Hors ligne