Script

Résolu
Bonjour,
je souhaiterais créer un script qui lorsque je l'exécuterais pourra lancer automatiquement une commande dans le terminal sans avoir à la taper manuellement.
Merci d'avance,
DeadKnights

7 réponses

  1. Contributeur
    bonjour,
    quelle commande
    si c'est une commande necessitant les droits de root tu seras oblige de passer par sudo
    exemple de script
    #!/bin/bash
    # script bonjour
    # affiche un salut à l'utilisateur qui l'a lancé
    # la variable d'environnement $USER contient le nom de login
    echo ---- Bonjour $USER -----
    # l'option -n empêche le passage à la ligne
    # le ; sert de séparateur des commandes sur la ligne
    echo -n "Nous sommes le " ; date
    # recherche de $USER en début de ligne dans le fichier passwd
    # puis extraction de l'uid au 3ème champ, et affichage
    echo "Ton numéro d'utilisateur est " $(grep "^$USER" /etc/passwd | cut -d: -f3)

    un autre
    #!/bin/sh
    #lancment de httpd et mysql
    sudo service httpd restart

    sudo service mysqld start

    exit
    a+
    1. Bonjour,
      la commande exacte que je souhaite utilisée est celle-ci:
      lp5250d env.DEVNAME=INF098I env.IBMMFRTYPMDL='*HP5' 192.168.1.X
      1. Oui, je l'utilise pour associer une imprimante à une session imprimante sur mon AS400auquel j'accède par émulateur 5250. A chaque fois que je ferme ma session quand je la ré-ouvre je dois retaper cette commande donc je voudrais automatiser cela.
        1. En fait, je veut pas vraiment qu'il s'exécute tout seul au démarrage, le but est de créer un exécutable que les employés pourront utiliser pour éviter de taper des commandes donc utilisable à n'importe quel moment.
          1. Contributeur
            Salut,

            Ce serait pourtant la meilleure solution à mon sens ;-\

            Sinon, tu crées un raccourci sur le bureau de chaque utilisateur pointant sur un script contenant ta ligne de commande...
          2. Voila j'aimerais m'orienter vers cette solution mais je ne sais pas ce que dois comporter mon script en fait.
          3. Contributeur
            Un shebang, la ligne de commande et surtout être exécutable (sous réserve aussi que les utilisateurs aient les droits nécessaires sur la/les commande(s) lancée(s))...

            Exemple de script avec un
            shell bash
            :

            #! /bin/bash
            lp5250d env.DEVNAME=INF098I env.IBMMFRTYPMDL='*HP5' 192.168.1.X
        2. ?
          1. en gros tu créer le script suivant :

            #!/bin/sh
            
            lp5250d env.DEVNAME=INF098I env.IBMMFRTYPMDL='*HP5' 192.168.1.X
            


            ensuite tu mets des links vers ton script sur les bureaux de toutes les sessions qui auront besoin de ce script
            ou à moins que tu veuille qu'ils les utilisent en ligne de commande : suivre ce tuto

            quoique tu décide, tu as du taf :)
          2. par contre je suppose que 192.168.1.X est l'IP de la machine sur laquelle tu veux ajouter l'imprimante ?

            si oui ta ligne devrait ressemble plutôt à :
            lp5250d env.DEVNAME=INF098I env.IBMMFRTYPMDL='*HP5' 'hostname -i | cut -f 2 -d " "'
            


            du moins si je me souviens bien ...
            et si j'ai bien compris ce que tu veux faire

            PS: autour de hostname -i | cut -f 2 -d " " ce ne sont pas des quote mais backquotes (alt gr + 7)
          3. et allez triple-coms ^^
            est ce qu'il faut les droit de root pour faire cette commande ?? si oui, ca risque de poser problème :/
          4. Okay bon bah je vais faire comme tu dis ^^ ensuite 192.168.1.X est bien l'IP de la machine et sa marche nickel avec la commande que j'ai indiquée je souhaite juste l'automatiser sans devoir la taper. Pour le root, je ne sais pas si c'est obligatoire vu que je l'ai toujours utilisée dans le terminal administrateur et pas dans le terminal basique.
          5. ben teste-la en dehors du terminal admin :)
            et tu seras fixé !!