J'ai du mal à écrire un script pour "zenity". Mon intention est d'avoir un commentaire sélectionné au hasard dans une liste, puis affiché sur l'écran pour que l'utilisateur puisse le voir. Pour être honnête, j'aimerais que le programme s'exécute automatiquement toutes les deux heures environ, mais je ne sais pas comment y arriver. Je suis nouveau dans le script bash et j'essaie simplement de m'enseigner à travers les recherches Google, le guide de script bash et les essais et erreurs. Ce programme va, en fin de compte, générer une remarque stupide aléatoire toutes les deux heures; purement pour le soulagement comique.
#! /bin/bash
#Create a random number between 0 and 3
RANGE=4
number=$RANDOM
let "number %= $RANGE"
echo $number
#Set random number generated above to select from list of comments.
if ($number == 0); then
COMMENT=Comment0
Elif ($number == 1); then
COMMENT=Comment1
Elif ($number == 2); then
COMMENT=Comment2
Elif ($number == 3); then
COMMENT=Comment3
echo $COMMENT
zenity --warning --title='!!!WARNING!!!' text=$COMMENT
Quoi qu'il en soit, j'ai beaucoup de mal avec les déclarations "si". D'après ce que j'ai appris jusqu'à présent, cela me semble juste; mais je ne reçois que des erreurs malgré de nombreuses tentatives de modifications. Je voudrais certainement de l'aide de toute personne intéressée.
Merci
Le script est presque bon. Mais rencontrez un problème avec les crochets lorsque vous utilisez if
. Ceux-ci doivent être entre crochets ([ ... ]
):
#!/bin/bash
#Create a random number between 0 and 3
RANGE=4
number=$RANDOM
let number%=$RANGE
echo $number
#Set random number generated above to select from list of comments.
if [ $number = 0 ]; then
COMMENT="Comment0"
Elif [ $number = 1 ]; then
COMMENT="Comment1"
Elif [ $number = 2 ]; then
COMMENT="Comment2"
Elif [ $number = 3 ]; then
COMMENT="Comment3"
fi
echo $COMMENT
zenity --warning --title="!!!WARNING!!!" --text="$COMMENT"
Voir aussi les autres petites modifications.
Plus à propos:
J'opterais pour une configuration légèrement différente, en utilisant un tableau:
#!/bin/bash
comments[1]="This is the first comment"
comments[2]="This is the second comment"
comments[3]="This is the third comment"
comments[4]="This is the last comment"
zenity --warning --title="Raa" --text="${comments[ 1 + RANDOM % ${#comments[@]}]]}"
La dernière ligne est l'endroit où toutes les choses intelligentes se produisent. ${#comments[@]}
représente le nombre d'éléments dans le tableau de commentaires, nous trouvons donc un nombre entre 0 et ce nombre (0-3) et ajoutons 1.