Pages : 1
#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
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
)
@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
é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
;);)
Hors ligne
Pages : 1