• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Das neue Jahr beginnt wie das alte - natürlich mit einem neuen Fotowettbewerb! Auch im Monat Januar freuen wir uns auf Eure Einsendungen. Wie es weitergeht, wisst Ihr ja - 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
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
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

Ichbinanders

Jonagold
Registriert
02.12.12
Beiträge
20
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
 

MacAlzenau

Golden Noble
Registriert
26.12.05
Beiträge
22.648
Rastafari dürfte es vermutlich egal sein, aber als Danke-Button dient eher der Karmabutton.