IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Creer une commande Shell a partir d'un fichier


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    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


  2. #2
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Ca ne mord pas un shell, tu as le droit de tenter des choses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $ alias tag='/chemin/vers/mon/script/tag'
    A mettre dans un .*rc évidemment.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $ alias tag=`/home1/moi/tag`

    et ça me sort :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    moi@monserveur:~$ tag
    bash: tag: command not found

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $ alias tag=`/home1/moi/tag`

    et ça me sort :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    moi@monserveur:~$ tag
    bash: tag: command not found
    j'ai aussi essayer de modifier mon PATH en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par oldscrout Voir le message
    j'ai aussi essayer de modifier mon PATH en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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).

  6. #6
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    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)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    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

  8. #8
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Pourtant, c'est pas compliqué :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #!/bin/bash
    echo truc
    .bashrc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias tag='/home/bidule/script.sh'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $ source ~/.bashrc
     
    $ tag
    truc

  9. #9
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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.

Discussions similaires

  1. Exécuter une commande Shell avec des espaces à partir du code.
    Par megamario dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/06/2015, 13h00
  2. Réponses: 5
    Dernier message: 19/05/2015, 14h01
  3. Cherche une commande shell/bash pour traitement sur fichier
    Par breizho35 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 26/02/2015, 11h18
  4. Creer une base de données à partir d'un fichier PHP
    Par Ellia dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 05/07/2012, 10h51
  5. [Système]Execution d'une commande shell
    Par n8ken dans le forum API standards et tierces
    Réponses: 24
    Dernier message: 29/03/2007, 04h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo