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

Linux Discussion :

questions sur Bash


Sujet :

Linux

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Par défaut questions sur Bash
    Bonjour chers Lunixins,

    Hier, j'ai installé et pour la première fois une distribution Linux (Ubunto) dans ma machine, je la trouve super, alors je connais un petit peu le Shell Batch de MS et je veux maintenant migrer vers le(s) Shell Linux: Bash, ksh,...mais malheureusement je ne connais rien du tout sur le mécanisme de créer ces types de fichiers dans Ubunto.
    alors:

    comment créer des fichiers Bash (puisque c'est le shell par defaut) ?
    comment les executer (est-ce que c'est pareil que Batch de MS) ?
    je trouve souvent dans les forums dédiés aux Shell Linux des programmes qui commencent par : #!/bin/sh c'est quoi ? es-ce que c'est pour choisir entre les différents Shell ?

    Merci par avance à tous..

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    bonjour saw-next,

    Il va te falloir te familiariser avec la ligne de commande
    puis t'initier aux shell scripts, et ici aussi ...

    et puis lire, lire...
    http://www.gnu.org/software/bash/bash.html
    http://www.tldp.org/LDP/Bash-Beginne...tml/index.html
    http://tldp.org/LDP/abs/html/
    et pratiquer...

    le shebang (#!) est effectivement une "commande" qui définit l'interpréteur de commandes qui sera utilisé pour éxécuter un script; il faut indiquer le chemin complet de l'interpréteur après le shebang. Ça peut être {ba,k,z}sh, ou sed, ou awk, ou perl...

    à bientôt
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Par défaut
    bonjour et merci,

    ce code est pour toi !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!bin/sh
    echo "les liens sont super"
    cp old/batch new/bash
    echo "thanks for all N_BaH"

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par saw-next Voir le message
    je trouve souvent dans les forums dédiés aux Shell Linux des programmes qui commencent par : #!/bin/sh c'est quoi ? es-ce que c'est pour choisir entre les différents Shell ?
    C'est quasiment ça.
    Chaque fois que tu exécutes un programme, ton environnement de travail est dupliqué et c'est la copie (appelé "fils") qui traite l'exécution pendant que ton environnement de départ (appelé "père") attend la fin du fils.
    Ce mécanisme permet 2 choses
    1) tu peux demander au père de ne pas attendre la fin du fils (en mettant un "&" après la commande lancée) => la commande lancée tourne alors en "arrière-plan" pendant que tu peux faire autre chose
    2) tu peux demander, grâce à la ligne "#!..." quel sera le shell chargé d'exécuter le script => ça permet à un utilisateur ne travaillant pas dans le même shell que toi la d'exécuter quand-même ton script (et inversement)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 106
    Par défaut
    merci beaucoup pour cette explication,

    j'ai une petite question, j'ai fais un petit code dans un fichier code.tst quand je l'appelle depuis l'invite par sh code.tst
    ça fonctionne

    mais, ce que je veux c'est l'appeler uniqument par son nom code.tst
    j'ai vu qu'on pouvais faire cette manip avec la commande chmod
    j'ai fais chmod +x code.tst
    puis un code.tst

    mais ça retourne une erreur ??

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    C'est une question de sécurité (si je me souviens bien) : les répertoires utilisateurs ne sont pas dans le PATH, donc les programmes ne peuvent être lancés directement.
    Soit tu utilises le chemin complet /home/saw-next/code.tst, soit avec un chemin relatif ./code.tst (à ne pas confondre avec la comande 'source' : . code.tst).
    Tu peux aussi créer un symlink dans un répertoire qui est dans le PATH (/usr/local/bin) vers ton programme...
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. Question sur découpage avec bash
    Par zerros dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 20/03/2013, 14h08
  2. question sur bash
    Par Invité dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 18/09/2011, 18h30
  3. [Bash] Question sur la manipulation de variables
    Par sliderman dans le forum Linux
    Réponses: 6
    Dernier message: 03/08/2007, 08h36
  4. Questions sur le shell Bash
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 07/09/2006, 18h19
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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