Pages : 1
#1 Le 06/12/2018, à 09:19
- irek
Mon premier ficher .sh
Bonjour as tous je viens à vous pour un petit coup de pouce
Je m'explique j'ai plusieurs commant a fait dans differents dossiers différents
Donc je voulais fait un ficher m.sh
J'ai fait un tableau
1
2
3
4
Je voudrai savoir comment fait
Une commande
Quel est vôtre choix :
Si 1 cd /Home/pi/soft1/./test.sh
Si 2 cd/ Home/pi soft2/./test.sh
Merci
Hors ligne
#2 Le 06/12/2018, à 10:23
- Sciensous
Re : Mon premier ficher .sh
1ère réponse de recherche avec Duck !
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#3 Le 06/12/2018, à 10:41
- kholo
Re : Mon premier ficher .sh
bonjour voilà qui saura t'amuser un peu :
#!/bin/bash
# ----------------------------------------------
nomlogiciel="$(basename "$0")"
# FONCTION=""
VERSION="alpha"
# NOTES DE VERSIONS
# ----------------------------------------------
#
# ----------------------------------------------
echo "lancement $nomlogiciel..."
### jusqu' ici on ne fait pas grand chose !
une_fonction(){
echo "je suis une fonction avec " $@
}
#### je vais mettre le texte à part pour plus de lisibilité de la fonction
texteMenu="du texte ici :
0 ne fait rien
1 pour faire ça
2 pour faire autre chose
3
f pour lancer une fonction
q pour quitter
faites un choix : "
### je crée une fonction que je vais pouvoir boucler en l'appelant elle même
main(){
echo "*****************************************"
echo -n "$texteMenu"
read -r -n 1 untruc ### -n 1 pour 1 lettre
echo
case $untruc in
0) ;; ### pas obligé de faire quelque chose
1) echo "je fais ça";;
2) echo "je fais autre chose";;
# 3) ;;
f) une_fonction "des arguments";;
'q') exit 14;; ### le 14 est un code que tu choisis de 0 à 128
*) echo "je ne comprend pas !!!";;
esac
main ### la fonction s'appelle
}
main
exit 0
Hors ligne
#4 Le 06/12/2018, à 13:12
- Watael
Re : Mon premier ficher .sh
oula, gare à l'empilement de la fonction...
il existe une commande bash (au moins) pour exécuter un menu : select
$ help select
select: select NOM [in MOTS ... ;] do COMMANDES; done
Sélectionne des mots d'une liste et exécute des commandes.
[...]
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 06/12/2018, à 20:21
- irek
Re : Mon premier ficher .sh
Merci mes dans notre programme il affiche
Du texte moi je veux démarrer un soft1 qui se trouve
je fais dans le terminal
Cd Home
Cd pi
Cd soft1
Donc je suis dans le répertoire Home/pi/soft1/
Et dans ce répertoire je démarre la commande ./ficher option
Je comprends pas comment intégrer sa dans votre code
EN gros je essayer de faire une commande différents a chaque nombre quand j'ai mon commentaire
1...
2...
3..
Pour démarrer les ligne de commande en trapant 1ou 2ou 3 je veux pas de boucle puisque s'est ma ligne de commande qui prend le relais
Dernière modification par irek (Le 06/12/2018, à 20:27)
Hors ligne
#6 Le 08/12/2018, à 10:04
- Sciensous
Re : Mon premier ficher .sh
simplement en mettant la commande !!
Et dans ton cas, tu peux écrire directement:
$HOME/soft1/ficher option
$HOME est une variable système qui remplace /home/pi
(et non Home/pi cat les maj/minuscules ont leur importance)
attention si tu travailles dans le dossier soft1 de vérifier d'utiliser des chemins absolus sinon tu travailleras à partir de l'endroit où le soft est lancé (/home/pi si rien n'est fait)
pour reprendre ton exemple et le détail de Waetel du lien que je t'ai mis (l'as-tu lu ?):
select $MOT in "soft1" "soft2"
do
case $REPLY in
1) /home/pi/soft1/test.sh ;;
2) /home/pi/soft2/test.sh ;;
esac
done
les ;; ne sont pas une erreur mais la syntaxe de fin de "cas"
Dernière modification par Sciensous (Le 08/12/2018, à 10:14)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne