Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1421 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  recoder un script bash en ash

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recoder un script bash en ash

n°757054
tfh
Posté le 29-11-2005 à 09:26:16  profilanswer
 

Bonjour,  
 
J'ai un script en bash que j'affectionne tout particulierement, j'aimerais le lancer sur une machine ou il n'y a que ash (impossible d'installer bash par manque de place), tout mon script fonctionne sauf l'operateur de test == , qui apperemment n'est aps reconnu en ash.  
 
Y'a t il un operateur de test equivalent a ==  en ash ?  
 
Je suis preneur de toute solutions.  
 
 
Merci d'avance

mood
Publicité
Posté le 29-11-2005 à 09:26:16  profilanswer
 

n°757057
Profil sup​primé
Posté le 29-11-2005 à 09:33:24  answer
 

a = b peut etre...
 
si je me souviens bien == est un basherie :)

Message cité 1 fois
Message édité par Profil supprimé le 29-11-2005 à 09:33:47
n°757071
tfh
Posté le 29-11-2005 à 10:10:02  profilanswer
 


 
moi pas etre expert bash mais iirc :  
 
a == b en bash retourne un booleen "TRUE" si a est identique b. Alors que a =b renvois "true" si on a reussi a affecter b a la variable  a.  
 
je suis encore moins expert en ash, mais a = b en ash ce serait  pas juste le deuxieme test ? ( test d'affectation ? ) et non le premier.  
 
Je vias voir si mon script marche tout de meme en changeant == en  =. je verrais ca ce soir.  
 
 

n°757074
minusplus
Posté le 29-11-2005 à 10:20:05  profilanswer
 

heu non. dans une commande test (if test truc=bidule ou if [ truc=bidule]) le = est bien un test. == est une extension bash en effet mais le = est POSIX compliant...

n°757075
Profil sup​primé
Posté le 29-11-2005 à 10:26:15  answer
 

le lien n'a rien a voir, mais c'est ic que j'avait vu ca...
http://initng.thinktux.net/index.p [...] o_remember
 
Attention : A=$B != $A = $B


Message édité par Profil supprimé le 29-11-2005 à 10:26:55
n°757351
matafan
Posté le 30-11-2005 à 04:20:06  profilanswer
 

En POSIX c'est "=", pas "==".

n°757802
m3z
il faut toujours faire simple
Posté le 30-11-2005 à 22:01:57  profilanswer
 

Ouaip ils sont tous compatible avec l'antique sh  
donc = plutôt que le == du csh
ca donne par ex
 [ -z "$wanproto" -o "$wanproto" = "none" ] || wanif=$(nvram get wan_ifname)
extrait du script (ash) S50dnsmasq sur OpenWRT  
 
 
 

n°758457
kiwis9
Posté le 02-12-2005 à 19:04:35  profilanswer
 

if ( a==b) devient if [ a -eq b ] tout simplement

n°758522
matafan
Posté le 02-12-2005 à 20:47:45  profilanswer
 

-eq c'est different : c'est une comparaison numerique, alors que == et = sont des comparaisons de chaine. Et puis ni ==, ni =, ni -eq ne peuvent etre utilises entre parentheses comme tu le dis. Et enfin c'est $a et $b, pas a et b.

n°759206
tfh
Posté le 05-12-2005 à 00:46:53  profilanswer
 

en effet dans le script qui m'interesse, le == est utilise pour comparer des chaines de caracteres ( en bash), et je cherche la commande equivalent en sh.  
 

mood
Publicité
Posté le 05-12-2005 à 00:46:53  profilanswer
 

n°759332
matafan
Posté le 05-12-2005 à 12:29:12  profilanswer
 

C'est =, comme on l'a déjà dit.

n°759338
minusplus
Posté le 05-12-2005 à 12:39:43  profilanswer
 

non mais sinon man ash, man bash, etc.

n°759394
tfh
Posté le 05-12-2005 à 14:34:29  profilanswer
 

minusplus a écrit :

non mais sinon man ash, man bash, etc.


 
helas je peut pas installer bash sur la machine en question par manque de place. donc j'ai pas les manpages non plus. je les ai lu sur le net. Merci de votre aide en tout cas.  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  recoder un script bash en ash

 

Sujets relatifs
[KSH-AIX] Script pour utiliser un mot dans un fichierscript pour changement de couleur
[Résolu] [script shell AIX]Script php sur la charge du serveur
Script ajout d'hosts dans le dhcpd.conf[bash] divisé une variable en plusieur avec comme marqueur "/"
[vsftpd]. Script de mise a jour de l'ip public en mode passif [Réglé]Script configure qui ne trouve pas les include
[FC2] Script suppression de fichierrecuperer une variable dans une bdd SQL pour un script bash
Plus de sujets relatifs à : recoder un script bash en ash


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR