[Scripts shell] Problème de variable

Problème de variable [Scripts shell] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 22-08-2006 à 11:59:38    

Bonjour,
 
Voici un exemple de code qui me pose problème.  En effet, lors de l'exécution de celui, il m'envoie boulé. Je pense qu'il n'aime pas les guillemets.

Code :
  1. export SERVEURHOME=`pdbedit -v -u $SAMBAUSER | grep -w "Home Directory" | cut -d":" -f2 | cut -d"\\" -f3 | cut -d"." -f1'


 
Pour que le script fonctionne, je suis obligé de passer par une fonction

Code :
  1. nomserveur()
  2. {
  3. pdbedit -v -u $SAMBAUSER | grep -w "Home Directory" | cut -d":" -f2 | cut -d"\\" -f3 | cut -d"." -f1
  4. }
  5. export SERVEURHOME=`nomserveur`


 
Ma question est comment placer cette commande dans ma variable ?
 
Merci d'avance.

Message cité 1 fois
Message édité par kartnico le 22-08-2006 à 13:50:05
Reply

Marsh Posté le 22-08-2006 à 11:59:38   

Reply

Marsh Posté le 22-08-2006 à 13:26:40    

Manque un ` à la fin de ton export.

Reply

Marsh Posté le 22-08-2006 à 13:49:53    

Oui désolé, c'est le copier collé qui à mal fonctionné. edit dans le premier post.
Il m'est donc impossible de placer cette commande dans une variable.


Message édité par kartnico le 22-08-2006 à 13:50:38
Reply

Marsh Posté le 23-08-2006 à 08:18:21    

kartnico a écrit :


Ma question est comment placer cette commande dans ma variable ?


 
et avec

Code :
  1. export SERVEURHOME=$(pdbedit -v -u $SAMBAUSER | grep -w "Home Directory" | cut -d":" -f2 | cut -d"\\" -f3 | cut -d"." -f1)


, as-tu plus de succès?

Reply

Marsh Posté le 23-08-2006 à 14:19:07    

Comment dire...
 
Merci :D
 
 
Voici donc la solution:

Code :
  1. export SERVEURHOME=$(pdbedit -v -u $SAMBAUSER | grep -w "Home Directory" | cut -d":" -f2 | cut -d"\\" -f3 | cut -d"." -f1)


Reply

Marsh Posté le 23-08-2006 à 14:51:09    

kartnico a écrit :

Comment dire...
 
Merci :D


Mais c'est quand même bizarre que ça marche pas avec les "backquotes"... Si quelqu'un sait pourquoi...

Reply

Marsh Posté le 23-08-2006 à 14:57:53    

J'ai trouvé. En fait tu aurais dû écrire l'erreur qu'il te donnait.
 
Apparement, lorsqu'on fait une substitution de commande avec les backquotes, il remplace d'abord les anti-slashes.
 
Ceci marche:

Code :
  1. export SERVEURHOME=`pdbedit -v -u $SAMBAUSER | grep -w "Home Directory" | cut -d":" -f2 | cut -d"\\\\" -f3 | cut -d"." -f1'


 
Ou alors ceci:
 

Code :
  1. export SERVEURHOME=`pdbedit -v -u $SAMBAUSER | grep -w "Home Directory" | cut -d":" -f2 | cut -d'\\' -f3 | cut -d"." -f1'

Reply

Marsh Posté le 24-08-2006 à 09:48:03    

Je viens de tester tout fonctionne bien.
 

Code :
  1. export SERVEURHOME=`pdbedit -v -u $SAMBAUSER | grep -w "Home Directory" | cut -d":" -f2 | cut -d"\\\\" -f3 | cut -d"." -f1'


 
Pour cette solution, il ne suffit de protèger que le \ par un autre \ et non par deux.
 

Code :
  1. export SERVEURHOME=`pdbedit -v -u $SAMBAUSER | grep -w "Home Directory" | cut -d":" -f2 | cut -d"\\\" -f3 | cut -d"." -f1'


 
Merci pour tout.


Message édité par kartnico le 24-08-2006 à 09:48:32
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed