Script shell (bash)
Fermé
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
-
4 janv. 2007 à 14:58
amatesuran - 11 janv. 2011 à 21:02
amatesuran - 11 janv. 2011 à 21:02
A voir également:
- Script shell (bash)
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Shell pause ✓ - Forum Shell
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
22 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 janv. 2007 à 15:19
6 janv. 2007 à 15:19
Re,
1)ecrire un programme shell nommé "operation". Ce programme utilise deux arguments (on suppose que les deux arguments sont des entiers et le deuxième argument est nul). Le programme doit calculer et afficher la somme, la difference, la division, la multiplication et le reste de la division.
1)ecrire un programme shell nommé "operation". Ce programme utilise deux arguments (on suppose que les deux arguments sont des entiers et le deuxième argument est nul). Le programme doit calculer et afficher la somme, la difference, la division, la multiplication et le reste de la division.
#!/bin/sh n1=$1 n2=$2 echo "Entrez l'opération à effectuer :" read op case $op in '+') echo $(($1 + $2)) ;; '-') echo $(($1 - $2)) ;; '*') echo $(($1 * $2)) ;; '/') echo "scale=2;$1/$2" | bc ;; *) echo "Opération inconnue" ;; esac
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
4 janv. 2007 à 18:50
4 janv. 2007 à 18:50
Re,
4: Pour cette exercice il faut donnner le texte de commande:
nom de la commande: cmd2
arguments: aucun
effet: La commande doit editer le message suivant: "Mon repertoire courant est: ...."
Dans un terminal tape
4: Pour cette exercice il faut donnner le texte de commande:
nom de la commande: cmd2
arguments: aucun
effet: La commande doit editer le message suivant: "Mon repertoire courant est: ...."
Dans un terminal tape
echo -e '#!/bin/sh\n\necho "Mon répertoire courant est : $(pwd)"' > cmd2ensuite pour exécution
chmod +x cmd2 && ./cmd2
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 janv. 2007 à 16:12
6 janv. 2007 à 16:12
Re,
ben a vrai dire je comprend pas trop la elle sont ou les commande ?
parce que par exemple pour le a) fallait utiliser la commande expr
Pourtant tu as dit dans le message 12
ok bon ça y est j'ai trouver
pour expr c'est
$ a=`expr 3 + 4`
$ echo $a
7
ben a vrai dire je comprend pas trop la elle sont ou les commande ?
parce que par exemple pour le a) fallait utiliser la commande expr
Pourtant tu as dit dans le message 12
ok bon ça y est j'ai trouver
pour expr c'est
$ a=`expr 3 + 4`
$ echo $a
7
#!/bin/sh n1=$1 n2=$2 echo -e "Opérations \n" echo "+ addittion" echo "- soustraction" echo "* multiplication" echo "/ division entière" echo "% modulo - calculer le reste" echo -e "\nEntrez l'opération à effectuer sur $1 et $2\n" read op case $op in '+') expr $1 + $2 ;; '-') expr $1 - $2 ;; '*') expr $1 '*' $2 ;; '/') if [ "$2" = "0" ] then echo "Division avec zéro" exit else expr $1 / $2 fi ;; '%') if [ "$2" = "0" ] then echo "Division avec zéro" exit else expr $1 % $2 fi ;; *) echo "Opération inconnue" ;; esac
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
4 janv. 2007 à 16:28
4 janv. 2007 à 16:28
Salut,
ça serait pour savoir si vous faites du script shell ici car j'ai bcp de difficulte???????????
Si tu parles de la cuisine shell, alors donne ta recette.
Tu trouveras sûrement un shell cook :-))
ça serait pour savoir si vous faites du script shell ici car j'ai bcp de difficulte???????????
Si tu parles de la cuisine shell, alors donne ta recette.
Tu trouveras sûrement un shell cook :-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
4 janv. 2007 à 16:49
4 janv. 2007 à 16:49
Salut,
voilà pour 3: a)
voilà pour 3: a)
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
65
4 janv. 2007 à 18:11
4 janv. 2007 à 18:11
y'aurais possibilité que tu m 'explique un peu???
Merci
Merci
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
65
6 janv. 2007 à 15:06
6 janv. 2007 à 15:06
ok merci bien et sinon pour ma question <12> (le texte des commandes)
je pourrais avoir une tite aide aussi SVP
juste un exemple et apres je vous montre ce que j'ai fait
je pourrais avoir une tite aide aussi SVP
juste un exemple et apres je vous montre ce que j'ai fait
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 janv. 2007 à 17:11
6 janv. 2007 à 17:11
et pour toutes les commandes que j'ai citer dans <12> ça marche comme ça???
Pas tout à fait. Voilà avec declare
Pas tout à fait. Voilà avec declare
#!/bin/sh declare -i res n1=$1 n2=$2 echo -e "Opérations \n" echo "+ addittion" echo "- soustraction" echo "* multiplication" echo "/ division entière" echo "% modulo - calculer le reste" echo -e "\nEntrez l'opération à effectuer sur $1 et $2\n" read op case $op in '+') res=$1+$2 echo $1 + $2 = $res ;; '-') res=$1-$2 echo $1 - $2 = $res ;; '*') res=$1'*'$2 echo $1 '*' $2 = $res ;; '/') if [ "$2" = "0" ] then echo "Division avec zéro" exit else res=$1/$2 echo $1 / $2 = $res fi ;; '%') if [ "$2" = "0" ] then echo "Division avec zéro" exit else res=$1%$2 echo $1 % $2 = $res fi ;; *) echo "Opération inconnue" ;; esac
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 janv. 2007 à 17:29
6 janv. 2007 à 17:29
et avec let
#!/bin/sh n1=$1 n2=$2 echo -e "Opérations \n" echo "+ addittion" echo "- soustraction" echo "* multiplication" echo "/ division entière" echo "% modulo - calculer le reste" echo -e "\nEntrez l'opération à effectuer sur $1 et $2\n" read op case $op in '+') let res=$1+$2 echo $1 + $2 = $res ;; '-') let res=$1-$2 echo $1 - $2 = $res ;; '*') let res=$1'*'$2 echo $1 '*' $2 = $res ;; '/') if [ "$2" = "0" ] then echo "Division avec zéro" exit else let res=$1/$2 echo $1 / $2 = $res fi ;; '%') if [ "$2" = "0" ] then echo "Division avec zéro" exit else let res=$1%$2 echo $1 % $2 = $res fi ;; *) echo "Opération inconnue" ;; esac
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 janv. 2007 à 17:59
6 janv. 2007 à 17:59
et avec $((....))?? Tu ne lit pas mes messages.
là et là
Pour $[..] dit à ton prof que c'est la forme ancienne de $((..)) donc ça ne vaut pas la peine de gaspiller des neurones et de l'encre avec ça :-))
echo "$1 / $2 = $(echo "scale=2;$1/$2" | bc)" je fais la division en réel
tu peux remplacer avec
là et là
Pour $[..] dit à ton prof que c'est la forme ancienne de $((..)) donc ça ne vaut pas la peine de gaspiller des neurones et de l'encre avec ça :-))
echo "$1 / $2 = $(echo "scale=2;$1/$2" | bc)" je fais la division en réel
tu peux remplacer avec
echo "$1 / $2 = $(($1/$2))"
Utilisateur anonyme
4 janv. 2007 à 15:52
4 janv. 2007 à 15:52
Salut,
ah mais certainement,tu trouveras certainement des liens...
Sous quel os les désires-tu?
ah mais certainement,tu trouveras certainement des liens...
Sous quel os les désires-tu?
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
65
4 janv. 2007 à 16:36
4 janv. 2007 à 16:36
ben voila, Je ne comprend rien et j'ai des partiels lundi (de plus j'ai ete bcp absente en cours dc je n'ai pas tout ((a cause d'un accident))).
donc voici quelques enonce et j'aurais besoin que vous me donniez le shell (SVP)
1: a) sous le repertoire courant, afficher la liste de tous les sous repertoires.
b) sous le repertoire courant, afficher la liste de tous les sous repertoires de chaque sous repertoire.
2: a)sous le repertoire courant, dupliquer les fichier ordinaire osus un repertoire dont le nom est donné en argument. Traiter tous les cas d'erreur.
b)Meme chose que a) mais on s'interresse à tous les fichier dont la taille ne depasse pas 50octets.
c)meme chose mais fichier executable.
3: a)Ecrire une fonction dt voici la specification:
nom de fct°: EntierValide
parametre: EstEntier
effet: l'entier 0 est retourné si le parametre "EstEntier" designe un entier, sinon l'entier 1 est retourné.
b)Ecrire une commande shell avec deux arguments. Si les deux arguments designent deux entiers alors il faut calculer et afficher les resultat des cinq operation suivant: +,-,*,/ et le reste de la division. Traiter tous les cas d'arreur.
4: Pour cette exercice il faut donnner le texte de commande:
nom de la commande: cmd2
arguments: aucun
effet: La commande doit editer le message suivant: "Mon repertoire courant est: ...."
Je vous remerci d'avance de vos reponse, si vous pouvez me donner qq explications à cote se serait super .
MERCI
donc voici quelques enonce et j'aurais besoin que vous me donniez le shell (SVP)
1: a) sous le repertoire courant, afficher la liste de tous les sous repertoires.
b) sous le repertoire courant, afficher la liste de tous les sous repertoires de chaque sous repertoire.
2: a)sous le repertoire courant, dupliquer les fichier ordinaire osus un repertoire dont le nom est donné en argument. Traiter tous les cas d'erreur.
b)Meme chose que a) mais on s'interresse à tous les fichier dont la taille ne depasse pas 50octets.
c)meme chose mais fichier executable.
3: a)Ecrire une fonction dt voici la specification:
nom de fct°: EntierValide
parametre: EstEntier
effet: l'entier 0 est retourné si le parametre "EstEntier" designe un entier, sinon l'entier 1 est retourné.
b)Ecrire une commande shell avec deux arguments. Si les deux arguments designent deux entiers alors il faut calculer et afficher les resultat des cinq operation suivant: +,-,*,/ et le reste de la division. Traiter tous les cas d'arreur.
4: Pour cette exercice il faut donnner le texte de commande:
nom de la commande: cmd2
arguments: aucun
effet: La commande doit editer le message suivant: "Mon repertoire courant est: ...."
Je vous remerci d'avance de vos reponse, si vous pouvez me donner qq explications à cote se serait super .
MERCI
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
65
6 janv. 2007 à 09:26
6 janv. 2007 à 09:26
pk -e ça sert a koi
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
6 janv. 2007 à 10:00
6 janv. 2007 à 10:00
Salut,
man echo (extrait) :
PS. Évite le style SMS s'il te plaît, merci ;-)
man echo (extrait) :
OPTIONS -n Ne pas effectuer le saut de ligne final. -e Interpréter les séquences de caractères précédées d'un backslash '\' suivantes : \a alerte (sonnerie) \b retour en arrière d'un caractère \c supprimer le saut de ligne final \f saut de page \n saut de ligne \r retour chariot \t tabulation horizontale \v tabulation verticale \\ backslash \nnn le caractère de code ASCII nnn (en octal) -E Désactiver les interprétations des séquences spéciales.;-))
PS. Évite le style SMS s'il te plaît, merci ;-)
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
65
6 janv. 2007 à 11:25
6 janv. 2007 à 11:25
ah ok merci (et desolé pour le style sms!!!)
alors tu pourrais m'expliquer les commande
expr, declare, let, $((...)) et $[...]
a quoi elle servent et comment on les utilise STP
Merci
alors tu pourrais m'expliquer les commande
expr, declare, let, $((...)) et $[...]
a quoi elle servent et comment on les utilise STP
Merci
ekra
Messages postés
1870
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
24 juillet 2014
342
>
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
6 janv. 2007 à 11:44
6 janv. 2007 à 11:44
Bonjour,
$((...)) sert a l'évaluation d'expression arithmétiques (en gros ça calcule)
let a=1+1 est la meme chose que a=$((1+1))
apres je connais $0, $1, $2 ,$n pour récupérer le n-ieme arguement
$# pour le nombre d'arguments
$((...)) sert a l'évaluation d'expression arithmétiques (en gros ça calcule)
let a=1+1 est la meme chose que a=$((1+1))
apres je connais $0, $1, $2 ,$n pour récupérer le n-ieme arguement
$# pour le nombre d'arguments
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
65
>
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
6 janv. 2007 à 11:48
6 janv. 2007 à 11:48
merci beaucoup et pour expr et decare tu sait?
mais par exemple si on me demande donner le texte du programme qui utilise la commande let ou $((...)) je doit ecrire quoi??
merci
mais par exemple si on me demande donner le texte du programme qui utilise la commande let ou $((...)) je doit ecrire quoi??
merci
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
65
>
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
6 janv. 2007 à 12:47
6 janv. 2007 à 12:47
ok bon ça y est j'ai trouver
pour expr c'est
$ a=`expr 3 + 4`
$ echo $a
7
et declare c'est:
Les fonctions peuvent s'exporter par la commande declare -fx fonction
mais maintenant ce que je comprend c'est quand on me demande de :
1)ecrire un programme shell nommé "operation". Ce programme utilise deux arguments (on suppose que les deux arguments sont des entiers et le deuxième argument est nul). Le programme doit calculer et afficher la somme, la difference, la division, la multiplication et le reste de la division.
a) Donner le texte du programme qui utilise la commande expr.
b)Donner le texte du programme qui utilise la commande declare.
c)Donner le texte du programme qui utilise la commande let.
d)Donner le texte du programme qui utilise la commande $((...)) ou $[...].
SVP donner moi juste un exemple et je ferai les autres
Je vous en supplie mes partiel sont lundi et il faut que j'assure
SVP SVP SVP SVP
pour expr c'est
$ a=`expr 3 + 4`
$ echo $a
7
et declare c'est:
Les fonctions peuvent s'exporter par la commande declare -fx fonction
mais maintenant ce que je comprend c'est quand on me demande de :
1)ecrire un programme shell nommé "operation". Ce programme utilise deux arguments (on suppose que les deux arguments sont des entiers et le deuxième argument est nul). Le programme doit calculer et afficher la somme, la difference, la division, la multiplication et le reste de la division.
a) Donner le texte du programme qui utilise la commande expr.
b)Donner le texte du programme qui utilise la commande declare.
c)Donner le texte du programme qui utilise la commande let.
d)Donner le texte du programme qui utilise la commande $((...)) ou $[...].
SVP donner moi juste un exemple et je ferai les autres
Je vous en supplie mes partiel sont lundi et il faut que j'assure
SVP SVP SVP SVP
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 janv. 2007 à 14:31
6 janv. 2007 à 14:31
Salut,
Accepte les notations avec . ou ,
10.23
10,23
Accepte les notations avec . ou ,
10.23
10,23
#!/bin/sh echo "Entre un numéro réel : " read var if [ "$(echo $var | grep -Eo '^[0-9]+[.,][0-9]+$')" ] then echo "$var est un nombre réel" fi
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 janv. 2007 à 14:44
6 janv. 2007 à 14:44
Re,
accepte toujours le . et la ,
ainsi que la notation scientifique avec E et e
10.23
10,23
10.23e+24
10.23E+24
10.23e-24
10.23E-24
accepte toujours le . et la ,
ainsi que la notation scientifique avec E et e
10.23
10,23
10.23e+24
10.23E+24
10.23e-24
10.23E-24
#!/bin/sh echo "Entre un numéro réel : " read var if [ "$(echo $var | grep -Eo '^[+-]?[0-9]+[.,][0-9]+([Ee]([+-]?[0-9]+))?$')" ] then echo "$var est un nombre réel" fi
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 janv. 2007 à 15:34
6 janv. 2007 à 15:34
Pour exécuter
Ou encore
operation.sh N1 N2N1 et N2 sont des nombres entiers
Ou encore
#!/bin/sh n1=$1 n2=$2 echo -e "Opérations \n" echo "+ addittion" echo "- soustraction" echo "* multiplication" echo "/ division" echo "% modulo - calculer le reste" echo -e "\nEntrez l'opération à effectuer sur $1 et $2\n" read op case $op in '+') echo "$1 + $2 = $(($1 + $2))" ;; '-') echo "$1 - $2 = $(($1 - $2))" ;; '*') echo "$1 * $2 = $(($1 * $2))" ;; '/') if [ "$2" = "0" ] then echo "Division avec zéro" exit else echo "$1 / $2 = $(echo "scale=2;$1/$2" | bc)" fi ;; '%') if [ "$2" = "0" ] then echo "Division avec zéro" exit else echo "$1 % $2 = $(($1%$2))" fi ;; *) echo "Opération inconnue" ;; esac
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
65
6 janv. 2007 à 15:42
6 janv. 2007 à 15:42
ben a vrai dire je comprend pas trop la elle sont ou les commande ?
parce que par exemple pour le a) fallait utiliser la commande expr
parce que par exemple pour le a) fallait utiliser la commande expr
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
65
6 janv. 2007 à 16:51
6 janv. 2007 à 16:51
ah ok merci bcp
et pour toutes les commandes que j'ai citer dans <12> ça marche comme ça???
merci
et pour toutes les commandes que j'ai citer dans <12> ça marche comme ça???
merci
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
65
6 janv. 2007 à 17:51
6 janv. 2007 à 17:51
ok merci bcp
et avec $((....)) ou $[...] ??
et avec $((....)) ou $[...] ??
widi70
Messages postés
649
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
22 juillet 2019
65
6 janv. 2007 à 18:05
6 janv. 2007 à 18:05
ok merci bcp de ton aide
bon week end
bon week end