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 22/02/2010, 08h26   #1
Membre du Club
 
Inscription : juillet 2005
Messages : 237
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 237
Points : 43
Points : 43
Par défaut le changement de shell n'est pas pris en compte

Bonjour,

J'ai un script à exécuter, mais qui contient des instructions setenv.
Comme le shell par défaut est bash, je change en csh via la commande chsh, j'ai un message d'erreur :
Code :
bash : setenv : commande introuvable
si je lance la commande
csh monscript

je n'ai pas de message d'erreur, mais les commandes setenv ne semblent pas s'exécuter (les chemins qui doivent être renseignés par ces commandes sont vides).

qu'est ce qui ne va pas ?

Merci,

Nico
DiverSIG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2010, 08h51   #2
Expert Confirmé
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 1 897
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 1 897
Points : 3 677
Points : 3 677
Bonjour,

As-tu un shebang (#!/chemin/csh) au début de ton script ?
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2010, 09h00   #3
Membre du Club
 
Inscription : juillet 2005
Messages : 237
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 237
Points : 43
Points : 43
j'en avais pas, j'en ai mis un, ça ne change rien ...

Nico
DiverSIG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2010, 09h26   #4
Expert Confirmé
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 1 897
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 1 897
Points : 3 677
Points : 3 677
bof
Code :
1
2
3
4
5
6
7
8
echo "$(<script.csh)"
#!/bin/csh
 
setenv b "bla bla bla"
printf '%s\n' "$b"
 
./script.csh
bla bla bla
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2010, 09h36   #5
Membre du Club
 
Inscription : juillet 2005
Messages : 237
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 237
Points : 43
Points : 43
j'ai mis ça dans mon script :
Code :
1
2
3
#!/bin/csh
setenv b "/usr/bin"
printf '%s\n' "$b"
mais ça ne m'affiche rien ...

Nico
DiverSIG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2010, 09h49   #6
Expert Confirmé
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 1 897
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 1 897
Points : 3 677
Points : 3 677
Je ne sais pas. Ça fonctionne correctement sur mon poste...

Au fait, pense à refaire un chsh vers bash, sinon à ton prochain login tu seras surpris !
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2010, 10h38   #7
Membre chevronné
 
Inscription : septembre 2007
Messages : 685
Détails du profil
Informations personnelles :
Âge : 48
Localisation : Suisse

Informations forums :
Inscription : septembre 2007
Messages : 685
Points : 723
Points : 723
Bonjour,

Si tu as mis le bon shebang (par exemple #!/bin/csh), il suffit alors d' appeler le script par ./script, en etant dans le bon repertoire.
Je ne connais pas le csh, mais les commandes devraient etre:
Code :
1
2
3
4
5
#!/bin/csh
 
setenv a "toto"
printenv a      # on obtient "toto"
echo $a         # on obtient egalement "toto"
__________________
Un problème bien posé est déjà résolu (H. Bergson).
jmelyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2010, 15h01   #8
Membre confirmé
 
Avatar de SYL666
 
Cédric
Inscription : novembre 2003
Messages : 308
Détails du profil
Informations personnelles :
Nom : Cédric

Informations forums :
Inscription : novembre 2003
Messages : 308
Points : 296
Points : 296
Nico, ton script marche bien et il ne semble pas y avoir d'erreur.
... Etrange...

Allons-y petit a petit :

1- Que se passe-t-il lorsque tu "force" csh :
2- Enclenche le mode debug, pour voir :
3- Juste au cas, es tu sur du chemin vers csh utilise ?
__________________
The Big Bang theory : In the beginning there was nothing, and it exploded. (Terry Pratchett)

IT Quote : "Unix is user-friendly. It's just very selective about who its friends are."

Dernière modification par al1_24 ; 22/02/2010 à 16h15.
SYL666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 04h09.


 
 
 
 
Partenaires

Hébergement Web