Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2007, 14h57   #1
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 77
Points : 28
Points : 28
Par défaut Creer une commande Shell a partir d'un fichier

Voila j'ai un script en sh

je souhaiterait pouvoir l'utiliser comme une commande normale ls, mv ...

j'ai fouiller dans les FaQ et j'ai trouver la commande alias, esce possible avec cette commande ?

ou rajouter ma commande pour que le systeme la prene en compte

ps : mon script s'appele Tag et pour le lancer je voudrait simplement ecrire tag plutot au lieu de ./tag ou ../tag suivant les repertoire ou je me trouve

petite precision je travail sous le serveur de ma faculté et je n'ai pas les droit pour ecrire dans /bin car j'avait essayer

oldscrout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 15h29   #2
Membre émérite
 
Avatar de Pouic
 
Inscription : octobre 2004
Messages : 668
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2004
Messages : 668
Points : 904
Points : 904
Ca ne mord pas un shell, tu as le droit de tenter des choses

Code :
1
2
 
$ alias tag='/chemin/vers/mon/script/tag'
A mettre dans un .*rc évidemment.
__________________
Software becomes slower faster than hardware becomes faster

http://xrenault.developpez.com
API C standard (C ANSI )
Pouic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 15h43   #3
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 77
Points : 28
Points : 28
ben je fait en gros j'ai mis le pwd ou est situé mon fichier tag
et j'ai mis ça dans un fichier qui s'appele .*rc

Code :
1
2
 
$ alias tag=`/home1/moi/tag`

et ça me sort :

Code :
1
2
3
 
moi@monserveur:~$ tag
bash: tag: command not found
oldscrout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 15h45   #4
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 77
Points : 28
Points : 28
Citation:
Envoyé par oldscrout Voir le message
ben je fait en gros j'ai mis le pwd ou est situé mon fichier tag
et j'ai mis ça dans un fichier qui s'appele .*rc

Code :
1
2
 
$ alias tag=`/home1/moi/tag`

et ça me sort :

Code :
1
2
3
 
moi@monserveur:~$ tag
bash: tag: command not found
j'ai aussi essayer de modifier mon PATH en :
Code :
1
2
 
export PATH=/home1/moi/tag/:$PATH
mais ça marche pas non plus

ps : je bosse depuis putty, je ne suis donc pas physiquement sur linux ça change quelque chose ?
oldscrout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 16h56   #5
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 306
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 306
Points : 8 590
Points : 8 590
Citation:
Envoyé par oldscrout Voir le message
j'ai aussi essayer de modifier mon PATH en :
Code :
1
2
 
export PATH=/home1/moi/tag/:$PATH
mais ça marche pas non plus
Si si, ça marche mais faut 4 choses :
  1. Indiquer dans le PATH le répertoire qui contient la commande et pas la commande elle-même. Ce qui tu indiques ci-dessus suppose que ta commande Tag se trouve dans le répertoire /home1/moi/tag. Est-ce bien le cas ?
  2. Que ta commande soit exécutable (chmod) pour tous les utilisateurs susceptibles de l'utiliser.
  3. Que le répertoire dans lequel elle se trouve soit accessible (cd) par tous les utilisateurs pouvant exécuter la commande.
  4. La commande de modification du PATH dépend du Shell. Assure-toi que la commande export est bien celle qui est supportée par ton shell. export est supportée par ksh et bash. Pour les autres shells, je n'en sais rien du tout. Pour vérifier que ça marche, fait un echo $PATH et vérifie que tu vois ta mise à jour.

Quand tu as tout ça qui marche pour ton utilisateur, on réfléchira à la meilleure façon de faire en sorte que ta commande puisse être trouvée facilement : soit modifier le PATH pour tous les utilisateurs, soit tout simplement copier ta commande dans un répertoire du PATH par défaut (/usr/local/bin par exemple).
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 16h57   #6
Membre émérite
 
Avatar de Pouic
 
Inscription : octobre 2004
Messages : 668
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2004
Messages : 668
Points : 904
Points : 904
Quand je dit .*rc, cela signifie .bashrc, .zshrc, .tcshrc, etc.
Il faut que ton fichier contenant le script possède un shebang
(#!/bin/bash par exemple)
Et qu'il soit exécutable (chmod +x)
__________________
Software becomes slower faster than hardware becomes faster

http://xrenault.developpez.com
API C standard (C ANSI )
Pouic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 17h27   #7
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 77
Points : 28
Points : 28
Merçi a MacGuyver
:p

c'etait juste mon chemin qui n'allait pas ...

Une derniere chose peu tu me dire comment mettre un PATH permanant sachant que je ne suis pas Root, je voudrait mettre mon PATH permanant pour ma session

merçi aussi a pouic meme si les nombreux test sur sa solution n'ont pas abouti faute de droit je pense
oldscrout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2007, 20h32   #8
Membre émérite
 
Avatar de Pouic
 
Inscription : octobre 2004
Messages : 668
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2004
Messages : 668
Points : 904
Points : 904
Pourtant, c'est pas compliqué :

Code :
1
2
3
4
5
6
$ pwd
/home/bidule
 
$ ls -lah
-rw-r--r--     1 Pouic  admin     1701 Dec 13 19:23 .bashrc
-rwxr-xr-x    1 Pouic  wheel    23B Dec 20 16:55 script.sh
script.sh
Code :
1
2
3
 
#!/bin/bash
echo truc
.bashrc
Code :
alias tag='/home/bidule/script.sh'
Code :
1
2
3
4
5
 
$ source ~/.bashrc
 
$ tag
truc
__________________
Software becomes slower faster than hardware becomes faster

http://xrenault.developpez.com
API C standard (C ANSI )
Pouic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2007, 16h04   #9
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 306
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 306
Points : 8 590
Points : 8 590
Citation:
Envoyé par oldscrout Voir le message
Une derniere chose peu tu me dire comment mettre un PATH permanant sachant que je ne suis pas Root, je voudrait mettre mon PATH permanant pour ma session
En fonction de ton shell, il faut que tu rajoutes la commande export PATH=... qui va bien dans le fichier .profile ou .bash_profile, etc. qui se trouve dans la home de l'utilisateur. Ca ne sera donc valable que pour cet utilisateur.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h02.


 
 
 
 
Partenaires

Hébergement Web