Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 31/03/2017, à 10:34

calixtus06

Re : [RESOLU] Que signifie "tester" ?

Bon je crois que j'ai achevé tout le monde. Non je déconne merci pour votre aide. En fait je cherche simplement à obtenir des corrections pour situer mes bêtises. Dans ABS il y a un premier exercice non corrigé et bien plus tard d'autres je crois en anglais et bien plus dur. Si vous connaissez un site qui donne des exercices sans la solution dessous ( open class room par exemple je suis preneur)

Hors ligne

#27 Le 01/04/2017, à 02:27

J5012

Re : [RESOLU] Que signifie "tester" ?

@calixtus06 : tu confonds les variables $1 , $2 qui sont les valeurs passées en arguments sur la ligne de commande:

monapplication arg1 arg2
$0 = monapplication
$1 = arg1
$2 = arg2

et tu les confonds avec $v1 , $v2 qui sont les valeurs contenues dans les variables v1 et v2 utilisées avec l'instruction "in-script" read (fonction readline), v1 aurait pu s'appeler tintin, v2 aurait pu s'appeler carotte, tu aurais alors les deux valeurs $tintin et $carotte ...

mais $1 restera toujours le deuxieme argument, $2 sera toujours le troisieme argument, $0 etant toujours le premier argument par rapport à la ligne de commande ... $1 n'est pas un nom de variable contenant une valeur, ni $2 , les termes exact $1, $2 ... ne peuvent etre changés ni interchangés !

edit : avant de llire bash avancé, tu devrais lire d'abord bash pour debutant
http://www.tldp.org/LDP/Bash-Beginners- … Guide.html

Dernière modification par J5012 (Le 01/04/2017, à 02:33)

Hors ligne

#28 Le 01/04/2017, à 02:57

Watael

Re : [RESOLU] Que signifie "tester" ?

le premier argument sur la ligne de commande est le chemin et le nom du script.
$1 est le premier argument du script, et ainsi de suite $2, $3...
à noter qu'à partir du 10e argument ils doivent être appelés entre accolades ${10} pour ne pas être confondu avec ${1}0 (premier argument du script suivi d'un zéro) !

+1 pour le Bash Beginners Guide

Dernière modification par Watael (Le 02/04/2017, à 00:30)


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#29 Le 01/04/2017, à 23:45

calixtus06

Re : [RESOLU] Que signifie "tester" ?

Encore merci pour vos indications !!

Watael a écrit :

le premier argument sur la ligne de commande est le chemin et le nom du script.

Pourrais tu l'illustrer, s'il te plaît .

Hors ligne

#30 Le 02/04/2017, à 00:29

Watael

Re : [RESOLU] Que signifie "tester" ?

bah, sur la ligne de commande, le premier argument est le chemin et le nom du script :

$ cat monScript
#!/bin/sh
echo "$0"
$ ./monScript
./monScript

il faut distinguer
argument de la ligne de commande
argument du script

Dernière modification par Watael (Le 02/04/2017, à 00:31)


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#31 Le 02/04/2017, à 12:26

calixtus06

Re : [RESOLU] Que signifie "tester" ?

Watael a écrit :

bah, sur la ligne de commande, le premier argument est le chemin et le nom du script :

$ cat monScript
#!/bin/sh
echo "$0"
$ ./monScript
./monScript

il faut distinguer
argument de la ligne de commande
argument du script

Sur la ligne de commande je lis dollar(invite de commande)  puis cat ( une commande) puis monscript ( nom du script) . Qu'appelles tu "chemin" ?
dollar zéro donne le nom du script . Qu'appelles tu argument du script ? Pour moi $0 est une variable .
merci à toi.

Ps: j'ai essayé le guide du débutant mais en anglais c'est dur

Hors ligne

#32 Le 02/04/2017, à 13:00

Watael

Re : [RESOLU] Que signifie "tester" ?

on part de loin quand même ! voire de zéro.
d'ailleurs, tu devrais aller sur le site du zéro, parce qu'on a tous commencer de zéro. wink

donc,
sur la ligne de commande apparaît le PROMPT (le signe dollar et l'espace).
quand tu tapes le nom d'une commande (ou d'un script), précédé, ou non, de son chemin*, c'est le premier argument de la ligne de commande (accessible dans un script shell par la variable $0).
ce qui suit constitue les arguments d'un script shell ($@, $*, $1...).

* le chemin peut être omis, si le répertoire qui contient la commande figure dans la variable PATH.

ps: l'invite (prompt), c'est-à-dire PS1, les invites "secondaires" PS2, PS3, PS4, PWD, PATH sont aussi des variables. il en existe "beaucoup" d'autres (cf. compgen -v).


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#33 Le 02/04/2017, à 14:17

calixtus06

Re : [RESOLU] Que signifie "tester" ?

salut

Oui ce que tu appelles chemin c'est le chemin habituel de type /bin/bash ( ou bien encore /home/documents ...)
Le fait de mettre le répertoire qui contient la  commande ou le  script dans le PATH permet d'éviter de réécrire le chemin  de la commande ou du script

c'est ça ?

Dernière modification par calixtus06 (Le 02/04/2017, à 14:19)

Hors ligne

#34 Le 11/04/2017, à 19:08

ar barzh paour

Re : [RESOLU] Que signifie "tester" ?

calixtus a écrit :

Ps: j'ai essayé le guide du débutant mais en anglais c'est dur

va voir le guide en français
https://abs.traduc.org/abs-fr/


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne