=== vitus_ is now known as vitus | ||
=== Amm0n| is now known as Amm0n | ||
=== Jochen_wvdT is now known as Schlawiner | ||
=== Jochen_wvdT is now known as Schlawiner | ||
p01nt3r | guten morgen. ich habe in einem shell-script in einer funktion folgendes stehen: STUFF="${0//file:\/\//}". ich weiß was da passiert aber ich kann nicht nachvollziehen wieso. kann mir das jemand genauer erläuert bzw. mir sagen, wo ich das nachlesen kann? | 09:23 |
---|---|---|
p01nt3r | handelt es sich dabei um parameter-expansion? falls ja, zu der zeichenfolge "${0//..}finde ich nirgends etwas, auch nicht in der man bash... | 09:25 |
p01nt3r | habe jetzt was gefunden: "${var/pattern/replacement}" das sollte es sein. | 09:33 |
p01nt3r | der string, der übergeben wird, lautet: file:///pfad/zur/datei/datei.xyz | 09:37 |
p01nt3r | aber wieso dann zweimal // zwischen der 0 und dem file: ? | 09:38 |
geser | wenn ich es richtig deute, dann soll an den Anfang ein file:// eingefügt werden | 09:41 |
p01nt3r | geser, nein, es wird vom string entfernt | 09:41 |
p01nt3r | heraus kommt dann der reine pfad ohne führendes file:///bla/blub/foo/bar/... | 09:42 |
p01nt3r | also so: /bla/blub/foo/bar/... | 09:42 |
p01nt3r | die 0 wird ersetzt durch die übergebene zeichenfolge, soweit klar, | 09:43 |
p01nt3r | ein / ist trennzeichen zum übergang von var zu pattern | 09:44 |
p01nt3r | aber wieso noch eins? | 09:44 |
geser | "If pattern begins with /, all matches of pattern are replaced with string." | 09:45 |
p01nt3r | danach dann file://(beide slashes gequotet, also: \/\/) | 09:46 |
geser | genau | 09:46 |
p01nt3r | und der letzte / zum übergang von pattern zu replacement | 09:47 |
p01nt3r | und ersetzt wird pattern durch nichts also kommt danach nichts mehr ausser dem } | 09:47 |
geser | pattern ist "/file://" (ohne escaping) und string ist leer | 09:47 |
p01nt3r | geser, woher hast du das: "If pattern begins with /, all matches of pattern are replaced with string." | 09:48 |
geser | aus "man bash", Parameter Expansion, ${parameter/pattern/string} | 09:48 |
p01nt3r | geser, also gehört das / vor dem file: nicht zum pattern selbst sondern ist eine art steuerzeichen, das bestimmt, welcher teil des ausdrucks passen muss (komplett/anfang/ende)? | 09:54 |
p01nt3r | so wie # oder % | 09:54 |
p01nt3r | geser, glaube ich habe es verstanden, DANKE DIR! | 09:55 |
p01nt3r | geser, wobei das verdoppeln des ersten / in meinem fall eig. gar nicht benötigt wird, es würde nur weitere vorkommen von pattern durch replacement ersetzen, was bei mir niemals der fall sein dürfte :-D | 10:07 |
=== MadPsymon7 is now known as MadPsymon | ||
p01nt3r | nochmal eine frage: im internet steht überall geschrieben, dass eine funktion via $1 ihren ersten parameter anspricht. bei mir nicht, bei mir ist $0 der erste parameter. wieso ist das bei mir so? | 12:33 |
moveax | was gibt $0 denn aus? | 12:34 |
moveax | http://tldp.org/LDP/abs/html/othertypesv.html | 12:34 |
le_bot | Title: Special Variable Types (at tldp.org) | 12:34 |
p01nt3r | das, was ich beim aufruf der funktion eben als ersten parameter angebe | 12:34 |
moveax | $0 sollte eigentlich der name zum script sein | 12:35 |
p01nt3r | auch in einer funktion? | 12:35 |
moveax | ah | 12:35 |
p01nt3r | :-) | 12:35 |
p01nt3r | und $1 ist bei mir _innerhalb_ der funktion der 2. parameter. | 12:37 |
p01nt3r | und so weiter... | 12:38 |
dadrc | Skripte haben in $0 den Skriptnamen, Funktionen haben in $0 den ersten Parameter | 12:38 |
p01nt3r | also schreiben die webseiten mist... | 12:38 |
p01nt3r | oder ist das mal geändert worden? | 12:38 |
stevieh | das geht doch so nicht. | 12:39 |
stevieh | das muss doch mal jemand ändern. | 12:39 |
dadrc | $-1 | 12:39 |
p01nt3r | ist aber auch verwirrend wenn $0 einmal es selbst ist und einmal das danach ^^ | 12:40 |
stevieh | ahwo. | 12:40 |
moveax | alles sache vom scope | 12:40 |
p01nt3r | danke.^^ | 12:40 |
cnill | Hallo zusammen | 13:01 |
=== cnill is now known as bimbam2103 | ||
bimbam2103 | Sorry falscher nick | 13:01 |
=== reichi63 is now known as reichi62 | ||
=== reichi63 is now known as reichi62 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!