添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
while getopts "f:t:n:d:" OPTION
		case $OPTION in 
                        export folder=$OPTARG
			object_type=$OPTARG
			object_name=$OPTARG
		d) #
			target=$OPTARG
echo $folder
J'ai regardé sous /usr/bin/ j'ai un fichier getopt.exe.
Est ce suffisant ?
Pourriez vous me donner quelques pistes de reflexions. Je ne vois pas d'erreur, la seule chose que je peux te suggérer est d'insérer un caractère : --> (":f:t:n:d:"). Cela permet de mieux gérer les anomalies (cf le script).
Pour tracer le script, tu peux faire :
sh -x nom_de_script
Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
while getopts ":f:t:n:d:" OPTION
		case $OPTION in 
                        export folder=$OPTARG
			object_type=$OPTARG
			object_name=$OPTARG
			target=$OPTARG
			echo "*** OPTION \"$OPTARG\" sans arg"
			exit 1
			echo "*** OPTION $OPTARG inconnue !!!"
			exit 1
echo $folder
J'ai testé avec Bash et Zsh, le code marche bien chez moi. Quand je passe l'option -f, il affiche l'argument qui suit. Quand j'oublie un argument, il y a une erreur et pareil si j'utilise une mauvaise option.
Tu pourrais montrer comment tu testes et indiquer quel Shell tu utilises ? Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
while getopts ":f:n:" OPTION
	case $OPTION in 
		echo $OPTARG
		export object=$OPTARG
		echo $OPTARG
		export name=$OPTARG
		echo "rrr"
echo $name
echo $object
pour tester, je tape la ligne de commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sh -x test_parameter.bash -f test
ce à quoi il répond :
Visualiser dans une fenêtre à part
getopts: not found
Mais c'est étonnant puisque sur tous les Shells récents, getopts est une builtin, c'est donc intégré au shell et ça n'a pas besoin de binaire extérieur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$ type getopts
getopts is a shell builtin
Tu pourrais indiquer quel système d'exploitation tu utilises ? C'est étonnant de parler de fichier "getopt.exe" si tu n'es pas sous Windows (sous Linux, j'ai un fichier /usr/bin/getopt). Peux-tu aussi indiquer quel Shell et quelle version tu utilises ? Essaie avec un autre Shell (sh, ksh, zsh...) dis-nous si tu as encore un problème. Dans l'arborescence, je suis allée voir dans le répertoire cygwin et c'est là que j'ai vu getopt.exe
En faisant un , je trouve également getopt.exe
le OS : Windows 2003.
je vais essayer dans un ksh pour voir...
Je vous donne des infos asap.
merci ... Je ne pense pas être en mesure en fait d'interpréter un script ksh...
Quand je veux exécuter un script ksh, j'ai en retour le message : bad interpreter....
une solution ? Je reviens à la charge...
Je n'ai absoluement rien changer... Et là voilà ce qu'il se passe :
1. Voici mon script.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
while getopts ":f:t:n:d:" OPTION
		case "$OPTION" in 
                        export folder=$OPTARG
			export object_type=$OPTARG
			object_name=$OPTARG
		d) #
			target=$OPTARG
			echo "*** OPTION $OPTARG inconnue !!!"
			export folder="vide"
echo $folder
2. Maintenant voici différents scénarios...les screenshots sont réalisés séquentiellement et chronologiquement...
Alors honnetement n'ayant rien changé, j'ai du mal à voir pourquoi cela fonctionne tout d'un coup... J'ai aussi du mal à voir pourquoi le rafraichissement ne fonctionne pas...
Je suis désemparée
Edit :
en modifiant mon script tel que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash
while getopts ":f:t:n:d:" OPTION
		case $OPTION in 
                        export folder=$OPTARG
			echo "cas f"
			export object_type=$OPTARG
			object_name=$OPTARG
		d) #
			target=$OPTARG
			echo "*** OPTION $OPTARG inconnue !!!"
			echo test
			export folder="vide"
echo $folder
je me rends compte que pour la seconde exécution du programme avec le paramètre -f, il ne passe pas dans le case...

Vous avez un bloqueur de publicités installé.

Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.

Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.