Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/09/2011, 18h49   #1
Membre du Club
 
Inscription : mars 2005
Messages : 66
Détails du profil
Informations personnelles :
Âge : 39

Informations forums :
Inscription : mars 2005
Messages : 66
Points : 44
Points : 44
Par défaut debian squeeze shell function

Bonjour,
J'ai un problème avec des scripts shell qui utilisent des fonctions.
Exemple: ce bout de script shell fonctionne sous debian lenny mais plus sous squeeze.

Code :
1
2
3
4
5
6
7
8
9
10
  #!/bin/bash
           function quit {
               exit
           }
           function hello {
               echo Hello!
           }
           hello
           quit
           echo foo
test.sh: 2: function: not found

comment déclarer une fonction maintenant ?

Merci de votre aide.

Sebastien
__________________
DBA SQLServer, Oracle, Mysql, DB2, Postgresql
slefevre01 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 01/09/2011, 19h01   #2
Membre du Club
 
Inscription : mars 2005
Messages : 66
Détails du profil
Informations personnelles :
Âge : 39

Informations forums :
Inscription : mars 2005
Messages : 66
Points : 44
Points : 44
Bon j'ai trouvé: la syntaxe a changé

Code :
1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh
           quit ()
        {
               exit
           }
            hello () {
               echo Hello!
           }
           hello
           quit
           echo foo
__________________
DBA SQLServer, Oracle, Mysql, DB2, Postgresql
slefevre01 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 01/09/2011, 19h26   #3
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 071
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 071
Points : 4 154
Points : 4 154
Bonjour,

la syntaxe n'a pas changé; le shell a changé !

sh est désormais un lien vers dash, qui est plus strictement POSIX.
Or, function n'est pas POSIX.
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/09/2011, 07h29   #4
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Citation:
Envoyé par N_BaH Voir le message
Bonjour,

la syntaxe n'a pas changé; le shell a changé !

sh est désormais un lien vers dash, qui est plus strictement POSIX.
Or, function n'est pas POSIX.
A part que dans son 1er script c'est du "bash"
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/09/2011, 07h56   #5
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 071
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 071
Points : 4 154
Points : 4 154
Bonjour zipe31,

un shebang bash ne prouve pas que le script est réellement exécuté par bash.

le shebang est bash
le code est bash
mais si je lance le script : alors maintenant c'est dash qui l'exécutera, et function ne fonctionnera pas :/
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/09/2011, 08h18   #6
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Re-

Citation:
Envoyé par N_BaH Voir le message
Bonjour zipe31,

un shebang bash ne prouve pas que le script est réellement exécuté par bash.

le shebang est bash
le code est bash
mais si je lance le script : alors maintenant c'est dash qui l'exécutera, et function ne fonctionnera pas :/
C'est clair que vu sous cet angle (mort)

Merci de m'avoir montré la lune alors que je ne voyais que le doigt
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h33.


 
 
 
 
Partenaires

Hébergement Web