• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Terminal " oder '

Ichbinanders

Jonagold
Registriert
02.12.12
Beiträge
20
Guten Abend,

ich hab nur ne kurze Frage undzwar möchte ich gerne wissen ob es dem Terminal egal ist ob ich " (Anführungszeichen) oder ein ' (Apostroph) verwende. Da Applescript selbst Anführungszeichen will wenn ich einen Shell Script eingebe muss ich Apostrophe verwenden und ich wollte nur mal sicher gehen und fragen ob das egal ist. ;-)

Dankesehr im Vorraus


Ichbinanders
 
Klares JEIN.
Doppelte Anführungszeichen lassen einigen Zeichen im String weiterhin ihre Sonderbedeutung, die einfachen dagegen machen alles zu literalem Text.
Soll meinen:
Code:
echo $HOME
[COLOR="#0000FF"]/Users/example[/COLOR]

echo "$HOME"
[COLOR="#0000FF"]/Users/example[/COLOR]

echo '$HOME'
[COLOR="#0000FF"]$HOME[/COLOR]
Es würde den Rahmen hier sprengen auch alle anderen Metazeichen mit ihren Sonderfunktion zu erklären:
Code:
  |  &  ;  (  )  <  >
Sämtliche Details dazu erklärt "man bash".
Stattdessen...
Eine einfache Regel, um jegliches (korrekte) Skript in AppleSkript einfügen zu können, ohne seine Funktion zu zerlegen:
- Schritt 1)
Sämtliche Backslashes \ im Text durch doppelte Backslashes \\ ersetzen
- Schritt 2)
Sämtliche doppelten Anführungszeichen " ersetzen mit Backslash-Anführungszeichen \"
(Schritt 1 und 2 nicht vertauschen, sonst gibts falsche Ergebnisse! Klar, oder?)

Das lässt sich herrlich einfach automatieren.
Der Befehl...
Code:
pbpaste | sed -e 's,\\,\\\\,g' -e 's,",\\",g' | pbcopy
...wandelt zB den Inhalt der Zwischenablage entsprechend um. Dann eingefügt im AS zwischen den umhüllenden doppelten Anführungszeichen, und fertig.
 
  • Like
Reaktionen: wheeler
Vielen Dank für den Tipp mit dem Backslash! Das hab ich gar nicht gewusst!

Es ging in meinem fall darum, dass ich Enviroment Variablen genutzt habe (genau: http_proxy und no_proxy). Auch wenn diese jetzt mit Apostrophen funktioniert hätten kann ich mir nun mit dieser Backslash Methode sicher sein, dass es richtig ist :D

Nochmals danke. (Hab auch ganz brav auf Hilfreich gedrückt ;>)

Ichbinanders
 
Rastafari dürfte es vermutlich egal sein, aber als Danke-Button dient eher der Karmabutton.