[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [TEKNIK] Bash for-loop; s kriv tæller med foranstilled e nuller?



On Mon, 30 Mar 2009 22:27:44 +0200, Henrik Christian Grove <sslug@sslug> wrote:

"Michael Schmidt" <sslug@sslug> writes:

On Sun, 29 Mar 2009 11:12:43 +0200, Jon Bendtsen <sslug@sslug> wrote:

On 29/03/2009, at 10.21, Martin Møller Skarbiniks Pedersen wrote:

2009/3/29 Michael Schmidt <sslug@sslug>:

Aha! jeg tænkte ikke over at seq var en selvstændig funktion.

Det er det heller ikke, det er et program. (Men forskellen er
selvfølgelig ligegyldig i dette tilfælde)

Jeg har heller ikke gennemskuet hvorfor det skal stå omkranset af "
` ", men

Overvej at bruge $(...) istedet for `...`.

Det er sikkert rigtig smart og nyttigt, men mit "problem" er at jeg ikke
ved hvad syntaksen "dækker" / bruges til.
Mit gæt (og det er et gæt) er at dette er den aktuelle returværdi
fra den indre funktion, som så skifter ved hvert kald fra den ydre
funktion.

Du er ikke helt galt på den, men det der sker er at den indre kommando
bliver udført først og uddata bliver indsat i den ydre.

Hvis vi f.eks. skriver (% er min prompt - zsh-standard):
% echo $(seq 1 5)
så kører kommandofortolkeren først "seq 1 5", det giver:
1
2
3
4
5
og så kører den "echo 1 2 3 4 5" (bemærk at linieskiftene bliver til
mellemrum), og uddata fra den kommando er (stor overraskelse :-) ):
1 2 3 4 5

Mange tak for denne sidste lille afklaring.
Jeg måtte lige teste og udfaldet bekræfter din gengivelse:

Jeg forventede oprindeligt at

]$ echo $(seq 1 $(seq 1 5))

Ville producere et resultat a la:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

men da den indre kommando returnere "1 2 3 4 5" til den ydre; ekspanderet til:

]$ echo $(seq 1 1 2 3 4 5)

og seq kun accepterer 3 parametre, fejler den -som forventet :)

Endnu engang tak!

--
Med venlig hilsen
/Zmit/
RLU # 314205


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2009-04-01, 02:01 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *