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 :

bash, saisie pré-remplis


Sujet :

Shell et commandes GNU

  1. #1
    Membre à l'essai
    Femme Profil pro
    maçon
    Inscrit en
    Octobre 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : maçon
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2018
    Messages : 39
    Points : 21
    Points
    21
    Par défaut bash, saisie pré-remplis
    Bonjour,

    je voudrais écrire un scipt bash post-installation.

    je voudrais installer une liste de paquets contenu dans une variable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    paquets='neovim brasero ...'
    ça fonctionne pas de soucis, mais je voudrais pouvoir éditer cette variable pour ajouter et/ou supprimer des paquets, par exemple je veux installer vlc, je le rajoute et inversement si je ne le veux pas et qu'il y est je le supprime.

    Au moment de la saisie comment faire pour que cette listes de paquets s'affiche et ainsi l'éditer directement ?

    avec la commande "read" je ne peux qu'afficher un prompt.

    Merci de votre aide et de vos suggestions, pour utiliser une méthode plus viables.

    merci

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 378
    Points
    19 378
    Par défaut
    Bonjour,

    d'abord, utilise une liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    paquets=( neovim brasero ... )
    ensuite, lis les ajouts dans ... une liste enfin, ajoute les ajouts:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    paquets+=( "${ajouts[@]}" )
    edit: entre-temps, tu peux afficher la liste des paquets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf '%s\n' "${paquets[@]}"
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par lifala Voir le message
    je voudrais pouvoir éditer cette variable pour ajouter et/ou supprimer des paquets, par exemple je veux installer vlc, je le rajoute et inversement si je ne le veux pas et qu'il y est je le supprime.

    Au moment de la saisie comment faire pour que cette listes de paquets s'affiche et ainsi l'éditer directement ?
    Je ne suis pas sûr de comprendre parfaitement tes spécifications.

    Veux-tu dire que tu voudrais que:
    • le script affiche sur une ligne le contenu de la variable,
    • l'utilisateur peut "éditer" le texte fourni (comme le permet l'éditeur de la ligne de commande courante de l'interprète bash), c'est-à-dire:

    • l'utilisateur peut utiliser les flèches (gauche ou ctrl-b et droite ou ctrl-f) pour se déplacer dans ce "texte pré-rempli"
    • l'utilisateur peut taper des caractères pour insérer du texte à l'endroit du curseur dans la ligne
    • l'utilisateur peut taper backspace pour effacer en arrière et DEL (ou ctrl-d) pour effacer en avant
    • l'utilisateur peut taper RETURN pour accepter la nouvelle valeur de la variable.

    C'est bien ça, ton rêve ?

  4. #4
    Membre à l'essai
    Femme Profil pro
    maçon
    Inscrit en
    Octobre 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : maçon
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2018
    Messages : 39
    Points : 21
    Points
    21
    Par défaut
    @jack-ft
    Oui c'est bien ça mon rėve. Il est trop grand ?

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 378
    Points
    19 378
    Par défaut
    non, c'est faisable en bash (cf. help read)

    même en utilisant un tableau, contrairement (après test) à ce que je pensais.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    Il faut apprendre à lire ce satané manuel ! RTFM.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    read -e -p "paquets : " -i "neovim brasero ..." reponse
    Il y a en plus toutes les boîtes de dialogue :
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  7. #7
    Membre à l'essai
    Femme Profil pro
    maçon
    Inscrit en
    Octobre 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : maçon
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2018
    Messages : 39
    Points : 21
    Points
    21
    Par défaut
    Merci pour tout ces réponses.

    j'ai pu travailler un peu avec la commande read et obtenir un résultat.

    J'ai un soucis sur manjaro. Oui je suis sous manjaro.

    si je fais un man read je n'ai pas toute les options. alors que si je vais sur les page man en ligne j'ai mieux d'option. http://linuxcommand.org/lc3_man_pages/readh.html

    faut que je cherche de ce coté la, c'est plutôt pénible.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 378
    Points
    19 378
    Par défaut
    read est une commande interne de bash, il faut, pour en apprendre les options, lire ce man (disponible avec toute installation de bash)
    man read explique la commande POSIX.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  9. #9
    Membre à l'essai
    Femme Profil pro
    maçon
    Inscrit en
    Octobre 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : maçon
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2018
    Messages : 39
    Points : 21
    Points
    21
    Par défaut
    c'est la commande que j'ai fait.

    man read

    mais la page n'est pas complète, j'ai pu le constaté en allant voir sur internet.

    help read

    ne fonctionne pas depuis zsh (oh_my_zsh)

    mais depuis bash cela fonctionne

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 378
    Points
    19 378
    Par défaut
    c'est la commande que j'ai fait.

    man read
    c'est justement ce qu'il ne faut pas faire.

    et puis, il faut choisir : bash ou zsh.
    les shells ne sont interchangeable que pour leur partie POSIX.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  11. #11
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    read est une commande interne de bash, il faut, pour en apprendre les options, lire ce man (disponible avec toute installation de bash)
    man read explique la commande POSIX.
    À la première lecture, je n'ai pas bien compris ta remarque, qui est pourtant pertinente!
    En fait, tu veux dire que, pour bien utiliser la commande interne read de l'interprète de commandes bash,
    il ne faut PAS faire man read (qui explique la version POSIX de la commande read),
    mais qu'il faut faire man bash et chercher la section read, ce que l'on peut obtenir directement avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    man -P 'less -p "^ +read "' bash
    J'espère juste que ceci peut aider notre amie lifala...

    Et, juste pour information, la commande read -e -p "paquets : " -i "neovim brasero ..." reponse fournie par Fodelarab ne fonctionne sous macos (Normal! C'est pas un linux, et c'est un vieux GNU bash, version 3.2.57 qui ne reconnait pas l'option -i).

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 378
    Points
    19 378
    Par défaut
    c'est ça.

    ou alors, on tape help read.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  13. #13
    Membre à l'essai
    Femme Profil pro
    maçon
    Inscrit en
    Octobre 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : maçon
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2018
    Messages : 39
    Points : 21
    Points
    21
    Par défaut
    Merci a tous c'est très constructif pour mon apprentissage

  14. #14
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Loin de moi l'idée de justifier mais personne n'a conseillé man read ici. Il a été conseillé, par 2 fois, help read, et le man read n'est arrivé que par l'internaute lui-même, de son propre chef.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    man -P 'less -p "^ +read "' bash
    Bravo pour tes commandes man très précises.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  15. #15
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Bravo pour tes commandes man très précises.
    Euh... j'aurais bien aimé apprécier le "bravo", mais il est important pour moi de rendre à César ce qui appartient à zipe31: man bash (avec une très légère adaptation)!

  16. #16
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    mais il est important pour moi de rendre à César
    Et il t'en remercie… ave l'accent conG

    PS. J'ai pompé ça il y a plus de 15 ans je ne sais plus où ;-\ Merci donc à son humble auteur
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  17. #17
    Membre à l'essai
    Femme Profil pro
    maçon
    Inscrit en
    Octobre 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : maçon
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2018
    Messages : 39
    Points : 21
    Points
    21
    Par défaut
    Salut a tous.

    alors voici le code que j'ai pour obtenir le résultat voulu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    read -e -p 'Ajuster la liste des paquets : ' -i " ${paquets[*]} " reponse
    			unset paquets
    			paquets=$reponse
    ne pas oublier le "unset" sinon ça recopie tout à la suite

    merci a tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/11/2011, 18h00
  2. [AC-2007] Saisie formulaire --> deux tables remplies ?
    Par Aydindril dans le forum Modélisation
    Réponses: 1
    Dernier message: 29/04/2011, 14h11
  3. [AC-2007] formulaire de saisie avec toutes les lignes pré-remplies
    Par tibofo dans le forum IHM
    Réponses: 2
    Dernier message: 26/07/2010, 11h10
  4. Réponses: 3
    Dernier message: 19/06/2008, 19h39
  5. Saisie dans un textbox pré-rempli
    Par STEPH2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/02/2008, 21h23

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