Problème script
Fermé
Étienne9
Messages postés
1022
Date d'inscription
mardi 1 mars 2011
Statut
Membre
Dernière intervention
10 mai 2015
-
25 oct. 2012 à 15:20
Utilisateur anonyme - 26 oct. 2012 à 08:48
Utilisateur anonyme - 26 oct. 2012 à 08:48
A voir également:
- Problème script
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
- Microsoft activation script - Accueil - Windows
- Executeur de script - Télécharger - Édition & Programmation
5 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
25 oct. 2012 à 16:28
25 oct. 2012 à 16:28
Salut,
if [ $i != -ne 0 ]
C'est ou l'un ou l'autre, mais pas les deux ensemble ;-((
if [ $i != -ne 0 ]
C'est ou l'un ou l'autre, mais pas les deux ensemble ;-((
Utilisateur anonyme
Modifié par qqchquicommenceparQ le 25/10/2012 à 16:34
Modifié par qqchquicommenceparQ le 25/10/2012 à 16:34
il ne fonctionne pas
par rapport à quoi ?
ce script est censé faire quoi?
les variables du premier here-doc doivent apparaître en dur dans le script my-ball.sh, ou doivent-elles rester des variables?
par rapport à quoi ?
ce script est censé faire quoi?
les variables du premier here-doc doivent apparaître en dur dans le script my-ball.sh, ou doivent-elles rester des variables?
Étienne9
Messages postés
1022
Date d'inscription
mardi 1 mars 2011
Statut
Membre
Dernière intervention
10 mai 2015
49
25 oct. 2012 à 19:12
25 oct. 2012 à 19:12
Le problème est expr apparemment...
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
25 oct. 2012 à 19:22
25 oct. 2012 à 19:22
Merci de bien vouloir répondre aux questions posées par qqchquicommenceparQ !
Étienne9
Messages postés
1022
Date d'inscription
mardi 1 mars 2011
Statut
Membre
Dernière intervention
10 mai 2015
49
25 oct. 2012 à 19:46
25 oct. 2012 à 19:46
par rapport à quoi ?
- à l'exécution il marque qu'il y a un problème avec EXPR et quand on regarde plus en détail, mon expr $i - 1 devient en fait expr -1
ce script est censé faire quoi?
- C'est un script create-my-ball qui prend en paramètres des noms de fichiers et qui crée un fichier my-ball et qui l'exécute et qui my-ball est sensé créer les fichiers qui étaient en paramètre avec mon nom, mon prénom etc mais j'ai changé sur le forum en Titi Toto Tutu
les variables du premier here-doc doivent apparaître en dur dans le script my-ball.sh, ou doivent-elles rester des variables?
- je ne comprends pas trop la question... à mon avis avec le "censé faire quoi" ça devrait aller.
- à l'exécution il marque qu'il y a un problème avec EXPR et quand on regarde plus en détail, mon expr $i - 1 devient en fait expr -1
ce script est censé faire quoi?
- C'est un script create-my-ball qui prend en paramètres des noms de fichiers et qui crée un fichier my-ball et qui l'exécute et qui my-ball est sensé créer les fichiers qui étaient en paramètre avec mon nom, mon prénom etc mais j'ai changé sur le forum en Titi Toto Tutu
les variables du premier here-doc doivent apparaître en dur dans le script my-ball.sh, ou doivent-elles rester des variables?
- je ne comprends pas trop la question... à mon avis avec le "censé faire quoi" ça devrait aller.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
26 oct. 2012 à 08:48
26 oct. 2012 à 08:48
Tel quel, le here-doc va développer les variables qui s'y trouvent.
C'est à dire que
De la même manière,
Pour éviter cela, met EOF entre apostrophes :
Je ne vois pas trop d'intérêt à écrire un script qui écrit un autre script, si le premier ne fait pas au moins quelques tests, qui n'ont alors plus de raison d'être dans le second.
Quant à
il existe une commande interne
C'est à dire que
i=$#va être développé en
i=4si le script principal (create-my-ball) possède 4 arguments.
De la même manière,
$fichierva être développé en rien, car le test sur son existence, et donc une éventuelle assignation par défaut n'a pas non plus eu lieu.
Pour éviter cela, met EOF entre apostrophes :
cat >my-ball.sh <<'EOF'
Je ne vois pas trop d'intérêt à écrire un script qui écrit un autre script, si le premier ne fait pas au moins quelques tests, qui n'ont alors plus de raison d'être dans le second.
Quant à
expr, c'est une commande externe qui n'a aucune utilité pour un shell compatible POSIX.
il existe une commande interne
let, qui n'est pas très utile, puisque le shell sait effectuer des calculs entre $(( )).