Pages : 1
#1 Le 05/10/2009, à 16:34
- Grew
Créer sa propre commande unix
Bonjour.
Savez vous comment créer une commande unix?
Par exemple:
J'ai un dossier dans lequel je stock tous mes fichiers de programmation (shellscript en l'occurrence).
Et ça me soule un peu de faire
"root@benux:/# cd /media/stock/progs_shell"
à chaque fois que je veux travailler.
Alors j'ai fait un petit script (progs_shell.sh):
#!/bin/sh
cd /media/stock/progs_shell
qui me placera directement dans mon dossier "progs_shell".
Maintenant j'aimerais bien que ce script puisse être exécuté comme une commande unix, par exemple si je tape progs_shell dans un terminal, il exécute mon script et je me retrouve dans mon dossier progs_shell .
J'ai essayé en mettant mon script dans /bin/ et ça ne marche pas:
ben@benux:/# progs_shell
bash: /bin/progs_shell: Permission non accordée
Idem si je le met dans /usr/bin/
Je dois surement utiliser une mauvaise technique. Pouvez-vous m'aider?
Merci!
Dernière modification par Grew (Le 05/10/2009, à 16:42)
Hors ligne
#2 Le 05/10/2009, à 16:41
- obiwankennedy
Re : Créer sa propre commande unix
sudo chmod u+x progs_shell.sh
pour le rendre exécutable.
Dans mes logiciels, j'écris ton nom.
SGNGD: SvgGd is Not GD
Rolisteam
Hors ligne
#3 Le 05/10/2009, à 16:54
- Grew
Re : Créer sa propre commande unix
Merci beaucoup, ça fonctionne. Seul petit problème, mon "cd" n'est pas pris en compte. L'exécution de la commande ne produit rien! -.-'
Ce code ne produit rien:
#!/bin/sh
cd /media/stock/progs_shell
Par contre ici, le echo s'affiche:
#!/bin/sh
echo "cd /media/stock/progs_shell";
Dernière modification par Grew (Le 05/10/2009, à 17:09)
Hors ligne
#4 Le 05/10/2009, à 17:10
- Michel38
Re : Créer sa propre commande unix
Bonjour,
Et un petit alias dans ton .bashrc ?
alias XXX='cd /media/stock/progs_shell'
Ne pas oublier un petit
source .bashrc
pour activer l'alias
LM18.3 - Kernel: 4.4.0-53-generic i686 (32 bit gcc: 5.4.0) - Cinnamon 3.4.6 (Gtk 3.18.9-1ubuntu3.3)
System: CLEVO (portable)
CPU : Dual core Intel Core i5-3230M
Card : Intel 3rd Gen Core processor Graphics Controller
Hors ligne
#5 Le 05/10/2009, à 17:26
- Grew
Re : Créer sa propre commande unix
Ah je ne savais pas qu'on pouvait faire ça, merci.
Et si je veux passer des paramètres a ma commande?
Hors ligne
#6 Le 05/10/2009, à 17:35
- Grew
Re : Créer sa propre commande unix
Ha j'ai compris! Y'a qu'a mettre le script en alias!
Hors ligne
#7 Le 05/10/2009, à 18:06
- Grew
Re : Créer sa propre commande unix
Mmmhh... petit probleme encore, j'ai bien mis mon alias dans .bashrc de mon /home/ben/ , j'ai rajouté l'alias
alias vazy='/home/ben/MesScripts/vazy'
et voici mon fichier vazy:
#!/bin/sh
if test $1 = "perl"
then
cd /media/stock/prog/perl
fi
if test $1 = "php"
then
cd /media/stock/prog/php
fi
if test $1 = "shell"
then
cd /media/stock/prog/shell
fi
echo "AAAAAA";
J'ai fait un petit:
source .bashrc
Là il reconnait ma fonction "vazy", mais il ne fait rien a part m'afficher le "AAAAAA"!
Dernière modification par Grew (Le 05/10/2009, à 18:23)
Hors ligne
#8 Le 05/10/2009, à 18:37
- arieugon
Re : Créer sa propre commande unix
Si tu crées un répertoire /home/moncompte/bin et que tu mets tes shell-scripts dedans ils seront lancés dès que tu les taperas.
/home/MonComte/bin est dans la variable PATH. C'est fait exprès. Voilà.
Linuxement ;O)
Portable ASUS K73E : Ubuntu XFCE 20.04 / Ubuntu DDE 20.04 / Debian 10 /Debian 11 (testing) / Devuan 3
Le tout en multi-boot Grub Legacy.
Hors ligne
#9 Le 05/10/2009, à 18:40
- Grew
Re : Créer sa propre commande unix
OK merci!
Mais apparemment il y a un problème avec le "cd", car n'importe quelle autre commande dans mon "vazy" fonctionne !
Un "cd" ne fonctionnerais pas dans un script? (j'en doute!)
Hors ligne
#10 Le 05/10/2009, à 19:45
- n3o51
Re : Créer sa propre commande unix
Le cd fonctionne !! Mais en faites tu veut que quant tu tape
nomdetonscript shell allez dans le repertoire shell c'est ca ?
PS : Si c'est cela lance comme ça le script
. ./tonscript.sh perl
Dernière modification par n3o51 (Le 05/10/2009, à 19:58)
Welcome to the real world
________________________________
Hors ligne
#11 Le 05/10/2009, à 19:58
- Link31
Re : Créer sa propre commande unix
OK merci!
Mais apparemment il y a un problème avec le "cd", car n'importe quelle autre commande dans mon "vazy" fonctionne !
Un "cd" ne fonctionnerais pas dans un script? (j'en doute!)
"cd" fonctionne dans les scripts mais ne change pas le dossier courant du shell parent, sauf si tu lances ton script avec "source ton_script.sh".
Il y a d'autres solutions que tu pourrais essayer :
export CDPATH=.:/media/stock
cd progs_shell
Dernière modification par Link31 (Le 05/10/2009, à 20:00)
Hors ligne
#12 Le 05/10/2009, à 20:25
- Grew
Re : Créer sa propre commande unix
Merci! Je crois que j'ai compris cette fois.
Il y a d'autres solutions que tu pourrais essayer :
export CDPATH=.:/media/stock cd progs_shell
Peux tu m'expliquer comment fonctionne ce petit bout de code? (plus précisément la fonction export CDPATH.
Merci à vous tous pour votre si efficace aide!
Hors ligne
#13 Le 06/10/2009, à 18:29
- n3o51
Re : Créer sa propre commande unix
ce petit bout sers simplement a export ou "ajouter" a cdpath un chemin d'acces car c'est lui qui es interroger lors d'un cd .
Welcome to the real world
________________________________
Hors ligne
Pages : 1