Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
Kleine Shell-Frage
Kleine Shell-Frage
Jan_L
18.09.05
18:24
Hey ho!
Ich skripte grad mal ein bisschen als Abwechslung zu Obj.C/Cocoa.
Mein Problem:
Ich will in einer Variable ($OPEN_PATH") alle "\" durch "/" ersetzen. Wie macht man das?
So gehts nicht:
OPEN_PATH=`echo $OPEN_PATH | sed -e "1,$ s/\///g"`
Naja, irgendwie klar
. Aber wie dann??? Hab schon ein paar andere formatierungen ausprobiert, aber nix hat gefunzt.
Danke schön & schönen Sonntag
Jan_L
Hilfreich?
0
Kommentare
Rantanplan
18.09.05
18:41
Klar, kannste doch so machen. Nur halt richtig
OPENPATH=$(echo $OPENPATH | sed -e 's/\\/\//g')
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
Arachnid
18.09.05
18:45
und was macht der Befehl?
Hilfreich?
0
Jan_L
18.09.05
18:46
Allervielsten dank, das klappt.
Sowas mit $(...) hab ich noch nie gesehn. Interessant.
Hilfreich?
0
Rantanplan
18.09.05
18:46
Hat er doch geschrieben:
Ich will in einer Variable ($OPEN_PATH") alle "\" durch "/" ersetzen.
Ok, ich hab sie versehentlich OPENPATH anstatt OPEN_PATH genannt...
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
Rantanplan
18.09.05
18:50
Jan_L
Sowas mit $(...) hab ich noch nie gesehn. Interessant.
Das ist (fast) identisch zu den veralteten Backticks, die ich nie gemocht habe. Man übersieht sie so leicht.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
Jan_L
18.09.05
18:52
Arachnid
Er ersetzt halt alle Backslashes durch Slashes. Oder was meinst du jetzt?
Ich brauch den Befehl nun wahrscheinlich doch nicht. Sollte in ein Skript rein, mit dem man die Autorun-Funktion von Windows nutzen kann, also dass wenn man ne CD einlegt gelich was passiert, aber es ist wohl unnütz, da meistens Windows-Programme ausgeführt werden.
Wenigstens wieder was gelernt
Hilfreich?
0
Jan_L
18.09.05
18:53
Rantaplan
Wo ist denn der Unterschied außer dass man es sieht?
Hilfreich?
0
Rantanplan
18.09.05
18:56
man bash
When the old-style backquote form of substitution is used, backslash retains its literal meaning except when followed by $, `, or \. The first backquote not preceded by a backslash terminates the command susstitution. When using the $(command) form, all characters between the parentheses make up the command; none are treated specially.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
Jan_L
18.09.05
18:58
Thx
Hilfreich?
0
Jan_L
18.09.05
19:19
Das sieht jetzt so aus:
OPEN_PATH=$(cat /Volumes/$1/autorun.inf | grep "OPEN=")
#echo $OPEN_PATH
OPEN_PATH=$(echo $OPEN_PATH | sed -e "1,$ s/"OPEN="/""/g")
#echo $OPEN_PATH
OPEN_PATH=$(echo $OPEN_PATH | sed -e 's/\\/\//g')
echo $OPEN_PATH
# bringt nix:
#open /Volumes/$1/$OPEN_PATH
Und weiter mach ich nicht, weils ja eh keinen Sinn hat
Schönen Sonntag wünsch ich
Jan_L
Hilfreich?
0
Jan_L
18.09.05
19:20
achja: Da gehört natürlich noch
#!/bin/bash
davor. Das hab ich mitsamt den Copyright-Hinweisen usw. wegelassen
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Tim Cooks Jahresgehalt – und die Vergütung der ...
Test Apple Mac mini M4
TechTicker
Update-Abend: macOS 15.1.1, iOS 18.1.1, iPadOS ...
Vor 18 Jahren: iPhone, Apple TV und "Apple Inc."
iPhone SE 4: Dummy-Modelle zeigen das Design
Apple-Leak spricht vom "iPad Air M3"
iPod-Vater Tony Fadell wollte Sonos kaufen – St...