• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

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.