Pages : 1
#1 Le 12/04/2017, à 19:18
- Seidel
Amelioration du script
Bonjour à tous, voilà je débute un peu dans le bash et j'ai fait un petit script qui tourne avec un crontab voir si tout fonctionne bien, mais je suis persuadé qu'il est possible de l'améliorer mais je ne vois pas comment...
Quelqu'un aurait une idée ou une piste ? Merci d'avance !!
#!/bin/bash
if [[ "$(screen -ls | grep dash_button)" == "" ]]
then
screen -dmS dash_button sudo node /home/pi/Dash/js/dash1.js
echo "Le script ddu dash button redemarre"
fi
if [[ "$(screen -ls | grep dash_button2)" == "" ]]
then
screen -dmS dash_button2 sudo node /home/pi/Dash/js/dash2.js
echo "Le script ddu dash button redemarre"
fi
if [[ "$(screen -ls | grep dash_button3)" == "" ]]
then
screen -dmS dash_button3 sudo node /home/pi/Dash/js/dash3.js
echo "Le script ddu dash button redemarre"
fi
if [[ "$(screen -ls | grep dash_button4)" == "" ]]
then
screen -dmS dash_button4 sudo node /home/pi/Dash/js/dash4.js
echo "Le script ddu dash button redemarre"
fi
if [[ "$(screen -ls | grep dash_button5)" == "" ]]
then
screen -dmS dash_button5 sudo node /home/pi/Dash/js/dash5.js
echo "Le script ddu dash button redemarre"
fi
if [[ "$(screen -ls | grep dash_button6)" == "" ]]
then
screen -dmS dash_button6 sudo node /home/pi/Dash/js/dash6.js
echo "Le script ddu dash button redemarre"
fi
if [[ "$(screen -ls | grep dash_button7)" == "" ]]
then
screen -dmS dash_button7 sudo node /home/pi/Dash/js/dash7.js
echo "Le script ddu dash button redemarre"
fi
Hors ligne
#2 Le 12/04/2017, à 19:28
- Watael
Re : Amelioration du script
salut,
tu pourrais faire une boucle for :
for i in dash_button{'',{2..7}}; do screen -ls | grep -q "$i" || screen -dmS ...js/dash$((++n)).js; done
à tester...
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 12/04/2017, à 19:59
- Seidel
Re : Amelioration du script
Merci bien !
Bah j'ai adapté le script mais ça n'a pas l'air de bien fonctionner...
for i in dash_button{'',{2..7}}; do screen -ls | grep -q "$i" || screen -dmS dash_button$((++n)) sudo node /home/pi/Dash/js/dash$((++n)).js; done
Quand je fais un screen -ls
There are screens on:
4314.dash_button5 (12/04/2017 20:59:02) (Detached)
4298.dash_button3 (12/04/2017 20:59:02) (Detached)
4282.dash_button1 (12/04/2017 20:59:02) (Detached)
4066.dash_button5 (12/04/2017 20:58:18) (Detached)
4050.dash_button3 (12/04/2017 20:58:18) (Detached)
4034.dash_button1 (12/04/2017 20:58:18) (Detached)
3940.dash_button5 (12/04/2017 20:58:02) (Detached)
3924.dash_button3 (12/04/2017 20:58:01) (Detached)
3908.dash_button1 (12/04/2017 20:58:01) (Detached)
3779.dash_button5 (12/04/2017 20:57:41) (Detached)
3763.dash_button3 (12/04/2017 20:57:41) (Detached)
3749.dash_button1 (12/04/2017 20:57:41) (Detached)
540.Ping_Bluetooth (12/04/2017 05:00:52) (Detached)
13 Sockets in /var/run/screen/S-pi.
Dernière modification par Seidel (Le 12/04/2017, à 20:00)
Hors ligne
#4 Le 12/04/2017, à 20:13
- Watael
Re : Amelioration du script
oops, la regex n'est pas bonne pour le premier cas cherché, parce qu'il correspond à tous les autres.
grep -q "${i}[[:blank:]]"
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 12/04/2017, à 22:52
- Hizoka
Re : Amelioration du script
je ne connaissais pas $((++n)), je connaissais $((n++)).
et hop ! encore une chose d'apprise
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#6 Le 13/04/2017, à 00:57
- Seidel
Re : Amelioration du script
Parfait ça marche nikel, merci beaucoup !!
Hors ligne
#7 Le 13/04/2017, à 07:52
- Hizoka
Re : Amelioration du script
Si c'est bon ajoute un [Résolu] dans ton titre
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne