The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Assignation de sortie à une variable jpmena De programmation et de script Shell 3 03-27-2008 04:39 AM
Attribution de la sortie de la commande à une variable shell sankar reddy De programmation et de script Shell 6 02-28-2008 03:01 AM
attribuant à la production nawk variable shell user_prady De programmation et de script Shell 6 11-29-2007 04:01 AM
l'attribution d'une sortie de commande shell variable kprattip De programmation et de script Shell 2 07-09-2007 05:01 AM
Sortie de commande à une variable. videsh77 De programmation et de script Shell 8 12-16-2004 06:06 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 06-26-2006
oma04 oma04 is offline
Registered User
  
 

Date d'inscription: juin 2006
Messages: 3
Assignation de sortie de commande à une variable

Salut,

J'essaye d'affecter la sortie d'une commande à une variable, puis concaténer avec une autre chaîne de caractères, cependant, il conserve l'original en écrasant chaîne au lieu d'ajouter à la fin de la chaîne.

Contenu de test.txt -> Ceci est un test

var1 \u003d "` head-n 1 `test.txt"
echo $ var1 (Ceci est un test)

var1 \u003d $ var1 "123"
echo $ var1 (123s est un test [au lieu de: Il s'agit d'un test123)

La question a quelque chose à voir avec la première ligne. Si j'ai simplement attribuer une chaîne comme ceci:
var1 \u003d "Ceci est un test", puis tout fonctionne, mais quand j'essaie d'affecter la sortie d'une commande à une variable, il n'est pas ajouter à la chaîne de caractères correctement.

Est-ce que quelqu'un sais comment contourner cette?

Merci!
  #2 (permalink)  
Old 06-26-2006
blowtorch's Avatar
chalumeau blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: Dec 2004
Lieu: Singapour
Messages: 2350
Essayez-le comme ceci:
Code:
/tmp$ cat test.txt
This is a test
This is also a test
/tmp$ var1="`head -n 1 test.txt`"
/tmp$ echo $var1
This is a test
/tmp$ var1=${var1}123
/tmp$ echo $var1
This is a test123
/tmp$
  #3 (permalink)  
Old 06-27-2006
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Date d'inscription: juillet 2001
Lieu: Portland, OR, Etats-Unis
Messages: 1584
Modern Bourne shell variantes appui $ (commande) et la notation, qui permet de nidification, et à mon avis, est plus facile pour les yeux.

Certains, comme bash, vous permet de faire amusantes de ce genre \u003d $ (<fichier) pour récupérer le contenu du fichier file.txt dans la variable "this".
  #4 (permalink)  
Old 06-27-2006
blowtorch's Avatar
chalumeau blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: Dec 2004
Lieu: Singapour
Messages: 2350
Je suis d'accord, mais j'ai utilisé l'arrière-prix que ce que les OP utilisés tout en demandant à la question. * * Vous pouvez utiliser les commandes nid backquotes ainsi, mais le nombre de caractères d'échappement qui augmente avec chaque niveau.
  #5 (permalink)  
Old 06-27-2006
oma04 oma04 is offline
Registered User
  
 

Date d'inscription: juin 2006
Messages: 3
Merci pour vos deux réponses.

chalumeau - J'ai essayé le code que vous avez donné, mais s'est retrouvé avec le même résultat -> 123s est un test

J'utilise Korn Shell qui est fourni avec le Microsoft Services for Unix Applications (SUA), ajouter le composant de Windows Server 2003 R2.

Existe-t-il une commande que je puisse utiliser pour insérer une chaîne en chaîne de l'autre - que ce soit au milieu ou à la fin? Par exemple, il serait de compter le nombre de caractères dans "Ceci est un test" et puis après append 14ème caractère.
  #6 (permalink)  
Old 06-27-2006
oma04 oma04 is offline
Registered User
  
 

Date d'inscription: juin 2006
Messages: 3
Thumbs up

Trouvé le problème!

Comme toujours, avec ces types de problèmes, il a été quelques désagréments que cela a été causé - un retour chariot / saut de ligne dans le fichier test.txt après la chaîne.

Si je fais un wc-c sur le fichier il me donne 16 au lieu de 14 (2 supplémentaires pour la CRLF).

Merci pour votre aide!

J'ai changé mon code pour utiliser le var1 \u003d $ (var1) 123 (grâce chalumeau) et aussi la notation var1 \u003d $ (<test.txt) (grâce macosta) la notation, qui ressemble plus propre.
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 10:56 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0