Outils pour utilisateurs

Outils du site


bash:pense-bete

Pense-bête pour Bash

Usage de Zenity

Demander via une boîte de dialogue (format fonction + usage de 'read')

demander () { 
	eval "read $1 <<< \"`zenity --entry --title=\"Choix\" --text=\"Indiquez un mot\" 2> /dev/null`\""
} 
 
demander "m1 m2"
 
echo "$m1 $m2" 

Exemple de l'usage pour la barre de progression sans log

(echo "10"; sleep 1; echo "70"; sleep 1; echo "50"; sleep 1 ) | zenity --progress --percentage=0 2> /dev/null 

Exemple de progression avec log intermédiaire

#!/bin/sh
(
echo "10" ; # vers SDTIN qui est ici Zenity 
sleep 1 ;
		echo "ok" 1>&2 # je loggue vers STDERR et pas STDIN 
echo "70" ; # vers SDTIN qui est ici Zenity 
sleep 1 ; 
) |
zenity --progress --percentage=0 || (echo "erreur" && exit 1) 
 
# vers SDTIN qui est ici la console 
 
echo "fin"
 
exit 0 

Débug STDIN / SDTOUT / SDTERR pour une commande

L'ensemble des informations passées au script, sont renvoyées vers un fichier de log (STDIN, STDOUT, etc.) :

test.sh
#!/bin/bash
 
# $@ <--- commande + args 
 
FICHIER_log="./resultat.log"
 
touch "$FICHIER_log"
 
echo -e "[0] STDIN :\n$(</dev/stdin)\n\n" >> "$FICHIER_log"
 
echo -e "[1] COMMANDE :\n$@\n\n" >> "$FICHIER_log"
 
echo -e "[2] STDOUT+STDERR :" >> "$FICHIER_log" 
 
$@ 2>>"$FICHIER_log" 0<&0 | tee -a "$FICHIER_log"
 
echo -e "\n\n" >> "$FICHIER_log" 
 
echo -e "------------------------\n\n" >> "$FICHIER_log"
bash/pense-bete.txt · Dernière modification: 2020/07/09 15:26 de julieng

Outils de la page