Forum Programmation.shell script shell

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
-2
15
avr.
2020

Bonjour et merci pour votre aide d'avance

Je suis étudiant en informatique et je viens de débuter le script shell.
J'ai peu d'expérience avec linux, pour le moment en tout cas, mon problème et d'assimiler la syntaxe pour la création d'un script.

Avez vous des exemples s'il vous plaît?

  • # grep ?

    Posté par  (site Web personnel) . Évalué à 1.

    Bonjour,

    de générer un mot de passe avec la commande #grep ??

    il faut bien commencer notre script par #!/bin/bash? oui par exemple. Voir https://fr.wikipedia.org/wiki/Shebang entre autre

    Avez vous des exemples s'il vous plaît? des exemples pour ?

    • [^] # Re: grep ?

      Posté par  . Évalué à -1.

      merci de votre réponse, oui en faite c'est l'énoncer d'un exercice, et j'ai un peu de mal avec la logique notamment pour le #grep.
      je vais regarder le lien.
      merci

    • [^] # exemple de fichier script

      Posté par  . Évalué à -1. Dernière modification le 15/04/20 à 21:38.

      des exemples pour écrire un fichier texte, car sa donnerai du genre:

      #!/bin/bash
      
      #useradd robby
      -g/etc/group robot
      -m--create-home
      is
      -u1010
      #grep 
      #passwd adminrobby

      Je me sens ridicule car je n'ai absolument pas grand chose en cours…
      la construction d'un fichier avec la syntaxe demande du temps à appréhender je pense.

  • # Script shell

    Posté par  . Évalué à 4.

    Voici un script qui peut te servir de base.

    #!/bin/bash
    
    # Ceci est un commentaire
    
    echo "Script de test"
    echo "Je me trouve dans le répertoire : " $PWD
    echo "Je peux exécuter n'importe quelle commande comme si je la tapais"
    ls
    
    echo "Créons un répertoire inutile dans /tmp"
    
    echo "Avant :"
    ls /tmp
    
    mkdir -p /tmp/mon_repertoire
    
    echo "Après"
    ls /tmp

    Tu mets ça dans un fichier que tu appelles comme tu veux (mais la coutume veux que ce soit un .sh par exemple mon_script.sh), tu le rends exécutable (chmod +x mon_script.sh) et ensuite tu peux l'exécuter ./mon_script.sh

    Après pour ton exercice il s'agit déjà de comprendre chacune des commandes dont tu as besoin, d'arriver à le faire "à la main" dans ton shell, et ensuite seulement tu le mettras dans un script.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Script shell

      Posté par  . Évalué à 2.

      Merci beaucoup pour le script et les conseils, je vais étudier tout sa.

      • [^] # Re: Script shell

        Posté par  . Évalué à 2.

        Tu peux aussi lancer les commandes à la main pour te familiariser avec la syntaxe et tester les arguments à passer aux commandes ;-) puis construire ton script avec ces commandes

        Julien_c'est_bien (y'a pas que Seb)

      • [^] # Re: Script shell

        Posté par  . Évalué à 2.

        Bonjour

        Il y a aussi la commande man
        qui te permettra d'afficher les pages du manuel des commandes linux.

        Par exemple :

        man useradd
        et aussi :

        man ls
        et aussi :

        man lp

  • # mékeskidi

    Posté par  . Évalué à 8.

    c'est quoi ce sujet ?
    les mots ont l'air d'être à leur place dans les phrases, mais je n'en comprends pas une.
    c'est une traduction automatique ?

    c'est moi ? ou ça vous le fait aussi ?

    • [^] # Re: mékeskidi

      Posté par  . Évalué à 1.

      bonjour,
      Le sujet c'est que je débute avec linux, je suis en formation à distance, et je dois dire que votre forum est d'une grande aide, vu que j'ai un exercice (je demande pas de tricher mais d'apprendre) , la grande difficulté et d'écrire la syntaxe du script, je n'ai pas votre expérience et je dois dire que linux me plaît beaucoup il faut simplement appréhender les bases.
      Dans mon cours j'ai une simple page sur l'automatisation des tâches d'administration, c'est très peu.

      En tout cas merci pour votre aide au moins avec le confinement j'ai le temps.

      • [^] # Re: mékeskidi

        Posté par  (site Web personnel) . Évalué à 6.

        Peut-être que les supports de cours Formatux pourraient s'avérer utile en complément :
        https://www.formatux.fr/formatux-formatux/index.html

        « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

      • [^] # Re: mékeskidi

        Posté par  . Évalué à 2.

        je crois que tu ne m'as pas compris.

        je ne te reproche rien, je comprends que tu débutes.

        c'est la rédaction du sujet qui me pose problème.
        on dirait une traduction littérale d'une traduction littérale d'une traduction littérale d'une traduction littérale… sans qu'aucun traducteur ne se soit posé la question de la réalisation, puisque le sujet est probablement accompagné de la solution.

        ajoute à ça le support de cours minimal… :(

        ou alors, ils font partie d'une sorte de secte au sein de laquelle ce langage plus qu'approximatif est compréhensible ?… :)

        • [^] # Re: mékeskidi

          Posté par  . Évalué à 3.

          Tu me rassures, c'est bizarrement posé comme exercice, en tout cas pour débuter c'est pas géniale, je pense que je cherche sans doute trop compliqué.
          Honnêtement vous avez compris mon exercice?
          Attention je ne cherche pas à faire faire l'exercice à ma place, étant donné que j'ai juste un exercice sa serai dommage.

          • [^] # Re: mékeskidi

            Posté par  . Évalué à 2. Dernière modification le 16/04/20 à 21:33.

            Attention je ne cherche pas à faire faire l'exercice à ma place, étant donné que j'ai juste un exercice sa serai dommage.

            C'est sur! (Ainsi que faire un ls sur un répertoire vide).

            • [^] # Re: mékeskidi

              Posté par  . Évalué à 1. Dernière modification le 17/04/20 à 11:01.

              Oui, juste une question comment faire pour mon compte robby le crée dans le compte robot avec l'option -g

              # useradd robby -g robot/etc/group
              

              ou

              # useradd robby -g etc/group
              

              ?

              j'ai du mal à comprendre la syntaxe des options

              • [^] # Re: mékeskidi

                Posté par  (site Web personnel) . Évalué à 3.

                Je copie-colle une partie de l'aide de useradd :

                $ useradd --help
                Usage: useradd [options] LOGIN
                useradd -D
                useradd -D [options]
                
                Options:
                -b, --base-dir BASE_DIR       base directory for the home directory of the
                new account
                -c, --comment COMMENT         GECOS field of the new account
                -d, --home-dir HOME_DIR       home directory of the new account
                -D, --defaults                print or change default useradd configuration
                -e, --expiredate EXPIRE_DATE  expiration date of the new account
                -f, --inactive INACTIVE       password inactivity period of the new account
                -g, --gid GROUP               name or ID of the primary group of the new account
                
                …

                Regarde bien l'ordre des options et respecte-les.

                « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

  • # Pardon

    Posté par  . Évalué à 1. Dernière modification le 16/04/20 à 21:38.

    Non pardon j'ai lu trop vite, genre "je ne cherche pas à faire l'exercice à ma place", alors j'ai rigolé; dsl :)
    Honnêtement je peux pas t'aider, j'ai un anniversaire à double octets identiques demain, alors je m'échauffe là

    • [^] # Re: Pardon

      Posté par  (site Web personnel) . Évalué à 4.

      j'ai un anniversaire à double octets identiques demain,

      Mmmm, 0x0000, c'est pas l'age légal pour mouler, et 0x0101, tu es bien plus vieux que le chauve, ça craint…

  • # remettons le copier/coller dans le bon ordre

    Posté par  . Évalué à 4.

    chose que tu aurais pu faire, c'est relire avant de poster pour te rendre compte que le copier/coller de l'énoncé n'était pas dans l'ordre

    Sous Linux, créez un utilisateur robby dans le groupe robot en vous aidant des éléments suivants :
    - - la commande #useradd ; édition de /etc/group ;
    – – g :
    – – m : option qui crée le répertoire personnel par défaut ;
    – – option -u 1010 pour l’UID numérique de l’utilisateur ;
    – – les commandes ls et lp pour afficher le répertoire et imprimer ;
    – – l’arborescence d’un système de fichiers sous Linux.

    sinon quand on débute sous linux, la commande man peut s'avérer très utile

    exemple : man useradd va t'expliquer comment fonctionne useradd, et quelles sont les options possibles, ce qu'elles font.

    idem donc pour man ls et man lp

    sinon une recherche sur internet avec ces mots fonctionnent aussi.
    et nous envoie par exemple sur https://linux.die.net/man/8/useradd pour useradd

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.