Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/01/2014, à 16:57

sergeG75018

boite de saisie texte

Bonjour

Ayant un peu de temps j'essaye de parfaire mes connaissances en bash en faisant quelques script;
mais là j'ai un petit probleme.
Ceci est un exemple:
J'ai une boite de saisie de texte

montexte=$(maboite de saisie) # la boite a 2 bouton, annuler qui annule et 
                                #valider qui envoie le texte dans la sortie
echo $montexte
letextesaisie
là j'aimerais y mettre une structure if
if $montexte=nul   #c'est la que je ne sais pas quoi mettre dans la condition
then eog
else gedit
fi

Je veux que si rien n'est tapé cela ouvre eog et que si quelque chose est tapé cela ouvre gedit.

Donc ou puis-je trouver une doc sur la mise en forme des conditions et sur ce type de commandes en générale.

merci d'avance

Dernière modification par sergeG75018 (Le 09/01/2014, à 16:58)


Ironie, sarcasme ou cynisme? Je ne sais plus

Hors ligne

#2 Le 09/01/2014, à 17:11

tiramiseb

Re : boite de saisie texte

Salut,

Donc ou puis-je trouver une doc sur la mise en forme des conditions

man test

et sur ce type de commandes en générale.

Dans n'importe quel bon bouquin sur le scripting.

Hors ligne

#3 Le 09/01/2014, à 17:15

pingouinux

Re : boite de saisie texte

Bonjour,
Si ce que tu appelles nul est la chaîne vide

[ "$montexte" ] && gedit || eog

Hors ligne

#4 Le 09/01/2014, à 18:02

compte supprimé x0

Re : boite de saisie texte

Salut,

Tant qu'à faire : la bible du bash

#5 Le 09/01/2014, à 18:59

sergeG75018

Re : boite de saisie texte

merci de vos réponses.
eog et gedit n'étaient la que pour l'exemple, je désirais en fait lancer un script différent selon que la sortie était vide ou non mais bon... je ne maîtrise pas encore toute la terminologie nécessaire.
J'ai donc trouvé sur la bible du bash mon bonheur

if [ -n "$marech" ]
	# Teste la présence d'un argument (non vide) sur la ligne de commande.
	then
		locate -i $marech > rechtmp
		gedit --new-window rechtmp
		sleep 5
		rm rechtmp
		exit
	else  
  		exec $0
	fi  

Merci encore et désolé si je n'ai pas été assez clair.


Ironie, sarcasme ou cynisme? Je ne sais plus

Hors ligne

#6 Le 09/01/2014, à 19:29

compte supprimé x0

Re : boite de saisie texte

Juste une remarque : attention aux indentations. En bash il n'y a aucune obligation, mais il vaut mieux mettre le if et le fi dans la même colonne. Parce que s'il manque un fi quelque part (ça peut arriver), c'est plus facile de trouver où, exactement, avec des indentations organisées logiquement.