Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 07 Apr 2005 13:19:41

Tengu
Gourou(e) du libre
Lieu: La Tour-de-Peilz
Date d'inscription: 17 Nov 2004
Messages: 493
Site web

[Bash] Erreur spéciale (Non Résolu)

Hello!
j'ai un gros soucis avec un script bash.
ce script est sensé vérifier en local si un "Screen" tourne ou pas, et si non, le lancer automatiquement.
Il fonctionnait sans problème sur mon serveur. Maintenant, il est "expatrié" sur un autre... et ne fonctionne plus!!
A croire que Bash devient fou.

Voyez plutôt:

Code:

troll@voltaic:~/scripts$ cat autoscreen
#!/bin/sh
VAR=`screen -ls | grep "S-$USER" | awk '{print $1}'`
# echo $VAR
if [ "$VAR" == "No" ]
        then screen -d -m -S irssi
fi
troll@voltaic:~/scripts$ ./autoscreen
[: 6: ==: unexpected operator
troll@voltaic:~/scripts$

J'ai tout tenté: eq, ==, avec "" ou ''... rien n'y fait.

J'ai passé plus de 4 heures dessus, à faire des tests et autres, rien.
un echo $VAR me ressort la valeur "No" en cas de non-présence de screen, et un autre trucs si screen est lancé... bref.... je comprends pas

Si vous voyez le truc..

merci d'avance
@@++


Science sans conscience n'est que ruine de l'âme

https://twitter.com/swisstengu (compte twitter)
https://blog.tengu.ch/ (un blog parmis tant d'autres)

Hors ligne

 

#2 07 Apr 2005 16:05:25

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: [Bash] Erreur spéciale (Non Résolu)

erm....

#!/bin/sh

Hors ligne

 

#3 19 Apr 2005 20:59:09

Tengu
Gourou(e) du libre
Lieu: La Tour-de-Peilz
Date d'inscription: 17 Nov 2004
Messages: 493
Site web

Re: [Bash] Erreur spéciale (Non Résolu)

Hello.

Que je mette /bin/bash ou /bin/sh, ça ne change rien. Trop insisté sur "bash", alors que c'est un script shell...

En gros, il semblerait qu'il ne reconnaisse pas le "==", et utilise le "=" dans els if [ ] comme un "==", ce qui est déconcertant, d'autant plus qu'avant, il passait sans soucis.

En plus, il ne load plus mon .bashrc ni .bash_profile, alors que screen le montait sans soucis avant.... hmm Quand meme surprenant, tout ça, non?


Science sans conscience n'est que ruine de l'âme

https://twitter.com/swisstengu (compte twitter)
https://blog.tengu.ch/ (un blog parmis tant d'autres)

Hors ligne

 

#4 19 Apr 2005 21:11:10

Minuteman
Prêcheu(r|se) du libre
 
Date d'inscription: 05 Nov 2004
Messages: 193

Re: [Bash] Erreur spéciale (Non Résolu)

J'avais déja eu des problèmes de scripts qui ne s'exécutaient plus de manière totalement étrange...la seule solution que j'avais trouvée c'était de supprimer le script et de le recréer dans un autre fichier (un pur copier-coller). Je m'explique toujours pas le pourquoi de la chose...ça arrive généralement quand je les trimballe d'une machine à l'autre.

Hors ligne

 

#5 19 Apr 2005 21:11:26

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: [Bash] Erreur spéciale (Non Résolu)

Etrange, ca ressemble typiquement a une des différences entre bash et le sh de base...

bash --version donne quoi ?

Hors ligne

 

#6 19 Apr 2005 21:34:44

Tengu
Gourou(e) du libre
Lieu: La Tour-de-Peilz
Date d'inscription: 17 Nov 2004
Messages: 493
Site web

Re: [Bash] Erreur spéciale (Non Résolu)

Code:

@voltaic:~$ bash --version

GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.

Vrai que c'est étrange, hein? hmm


Science sans conscience n'est que ruine de l'âme

https://twitter.com/swisstengu (compte twitter)
https://blog.tengu.ch/ (un blog parmis tant d'autres)

Hors ligne

 

#7 20 Apr 2005 00:30:55

saintshakajin
Prêcheu(r|se) du libre
 
Date d'inscription: 03 Feb 2005
Messages: 182

Re: [Bash] Erreur spéciale (Non Résolu)

Code:

if [ "$VAR" == "No" ]

il faut qu'un seul = et pas de " autour de $VAR
exemple

Code:

if [ $myvar = "hello" ]
     then
        echo "We have a match"
     fi

Debian Sid - XOrg 6.9 - KDE 3.5.0 - Kernel 2.6.15-ck2

Hors ligne

 

#8 20 Apr 2005 15:47:45

Tengu
Gourou(e) du libre
Lieu: La Tour-de-Peilz
Date d'inscription: 17 Nov 2004
Messages: 493
Site web

Re: [Bash] Erreur spéciale (Non Résolu)

Comment expliques-tu qu'avant, avec ==, il fonctionnait ?

Et je serais surpris de voir que c'est le seul langage de prog/script qui soit en dehors des "normes" (tous les autres, pour une comparaison, c'est avec "=="...)
ah, et si jamais.... "!=" n'est pas non plus reconnnu et là, je pense pas que ce soit autre chose, ou c'est "!" ??

Enfin, le script fonctionne comme ça, mais c'est un rien agaçant quand on comprend pas pourquoi.... pff.


Science sans conscience n'est que ruine de l'âme

https://twitter.com/swisstengu (compte twitter)
https://blog.tengu.ch/ (un blog parmis tant d'autres)

Hors ligne

 

#9 20 Apr 2005 17:12:29

saintshakajin
Prêcheu(r|se) du libre
 
Date d'inscription: 03 Feb 2005
Messages: 182

Re: [Bash] Erreur spéciale (Non Résolu)

bah regarde par toi même:
http://www.phys.ualberta.ca/~gingrich/r … 0000000000

Code:

Tests sur les chaînes

Encadrer la chaîne par des guillemets !

    * "-n "chaîne"" : Vrai si la chaîne n'est pas vide.
    * "-z "chaîne"" : Vrai si la chaîne est vide.
    * ""chaine1" = "chaine2"" : Vrai si les deux chaînes sont identiques.
    * ""chaine1" != "chaine2"" : Vrai si les deux chaînes sont différentes.

provient d'ici
Et regarde ici le point 1.2


Debian Sid - XOrg 6.9 - KDE 3.5.0 - Kernel 2.6.15-ck2

Hors ligne

 

#10 11 Jun 2005 21:39:45

becket
Affranchi(e)
 
Date d'inscription: 27 Feb 2005
Messages: 5
Site web

Re: [Bash] Erreur spéciale (Non Résolu)

Code:

 if [ ! -z $( pidof -s screen ) ] 
  then echo tourne 
  else echo ne tourne pas 
 fi 

Hors ligne

 

Pied de page des forums

Powered by FluxBB