Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails)

#1 Le 07/11/2012, à 21:16

BrunoL

[Résolu] script : variable composée de lignes avec " et \

Bonjour,

Ce script pris dans la doc fonctionne :

#!/bin/sh
dialog --clear --title "Mon chanteur français favori" \
	--menu "Bonjour, choisissez votre chanteur français favori :" 20 51 4 \
	 "Brel" "Jacques Brel" \
	 "Aznavour" "Charles Aznavour" \
 	 "Brassens" "Georges Brassens" \
	 "Nougaro" "Claude Nougaro" \
	 "Souchon" "Alain Souchon" \
	 "Balavoine" "Daniel Balavoine"

Cette légère adaptation ne fonctionne pas sans que j'arrive à trouver pourquoi :

#!/bin/sh
TITRE="Mon chanteur français favori"
MENU="Bonjour, choisissez votre chanteur français favori : " 
LIST='"Brel" "Jacques Brel" \
"Aznavour" "Charles Aznavour" \
"Brassens" "Georges Brassens" \
"Nougaro" "Claude Nougaro" \
"Souchon" "Alain Souchon" \
"Balavoine" "Daniel Balavoine"'

dialog --clear --title "$TITRE" \
	--menu "$MENU" 20 51 4 \
	"$LIST"

C'est pas loin mais le 20 51 4 \ devient 20 51 4.

J'ai essayé pas mal de truc en vain.
Merci pour votre aide.

Dernière modification par BrunoL (Le 08/11/2012, à 13:36)

Hors ligne

#2 Le 07/11/2012, à 22:27

Postmortem

Re : [Résolu] script : variable composée de lignes avec " et \

Salut,
Sans pouvoir tester, je dirais que le souci vient plus de la variable LIST.
En effet, dans la 1ère commande, les double-quotes sont supprimées par le shell et les mots entre double-quotes sont passées comme un seul mot, il y a donc 2 mots par ligne.
Dans ta 2ème commande, la variable LIST est passée comme un seul et unique mot et les double-quotes resteront à l'affichage.
Je ne peux pas tester là mais je ferais comme ça (mais en bash plutôt que sh) :

#!/bin/bash
TITRE="Mon chanteur français favori"
MENU="Bonjour, choisissez votre chanteur français favori : " 
LIST=( "Brel" "Jacques Brel" "Aznavour" "Charles Aznavour" "Brassens" "Georges Brassens" "Nougaro" "Claude Nougaro" "Souchon" "Alain Souchon" "Balavoine" "Daniel Balavoine" )

dialog --clear --title "$TITRE" \
	--menu "$MENU" 20 51 4 \
	"${LIST[@]}"

Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#3 Le 07/11/2012, à 22:48

Hizoka

Re : [Résolu] script : variable composée de lignes avec " et \

yep, je confirme smile

ca passe bien.

Hors ligne

#4 Le 08/11/2012, à 13:36

BrunoL

Re : [Résolu] script : variable composée de lignes avec " et \

Le solution et l'explication.
Qu'attendre de plus smile

Merci Postmortem

Hors ligne

Haut de page ↑