Forenindex » Programmierung/Entwicklung » AppleScript » terminal liste in applescript liste

terminal liste in applescript liste

dasistideal
Beiträge gesamt: 22

1. Jul 2015, 17:20
Bewertung:

gelesen: 2314

Beitrag als Lesezeichen
wenn ich per applescript ein terminal Befehl ausführe, bei dem eine liste erzeugt wird, wie bekomme ich diese in eine applescript liste ?
die liste vom terminal hat ja Absätze aber es fehlen Kommas weswegen ich keine liste erstellen kann

as list hinter dem script hilft nicht . ich bekomme eine Fehlermeldung

wie ist das problem zu lösen ???

terminal liste in applescript liste

Hans Haesler
  
Beiträge gesamt: 5826

1. Jul 2015, 17:56
Bewertung:

gelesen: 2298

Beitrag als Lesezeichen
Hallo dasistideal,

herzlich willkommen im AppleScript-Forum auf HilfDirSelbst! :-)

Ein paar Fragen:
Welche Version von Mac OS X benutzest Du?
Wie lautet der Terminal-Befehl?
Wie sieht das Ergebnis aus?
Wie versuchst Du die AppleScript-Liste zu erzeugen?
Wozu würde die gewünschte AppleScript-Liste eingesetzt?

Gruss, Hans

terminal liste in applescript liste

dasistideal
Beiträge gesamt: 22

1. Jul 2015, 18:41
Bewertung:

gelesen: 2284

Beitrag als Lesezeichen
1. ich nutze os x 10.10.1 Yosemite
2. der Befehl lautet networksetup -listlocations
3 . das Ergebnis sieht so aus:
umgebung 1
umgebung 2
Automatic
4. die liste wird mit choose from list erzeugt
5. je nach Wahl netzwerkumgebung wechseln

terminal liste in applescript liste

Hans Haesler
  
Beiträge gesamt: 5826

1. Jul 2015, 20:43
Bewertung:

gelesen: 2250

Beitrag als Lesezeichen
Hallo dasistideal,

danke für Deine Antworten. Versuche es bitte mal damit:

Code
set cmd to "networksetup -listlocations" 
set res to do shell script cmd
set AppleScript's text item delimiters to {"
"}
set aList to every text item of res
set AppleScript's text item delimiters to {""}
aList

Es kann sein, dass der Forums-Server den Neue-Zeile-Delimiter, welcher in Zeile 3 als "text item delimiter" definiert ist, abändert.
Sollte es nicht klappen, kannst Du einen Deiner "Return" kopieren und einsetzen.

[ Edit: Der Delimiter wird nicht abgeändert. Aber Du musst den Leerschlag entfernen, welchen der Server bei jeder Zeile anfügt. ]

Gruss, Hans

(Dieser Beitrag wurde von Hans Haesler am 1. Jul 2015, 20:52 geändert)

terminal liste in applescript liste

kkauer
Beiträge gesamt: 661

1. Jul 2015, 20:46
Bewertung:

gelesen: 2248

Beitrag als Lesezeichen
Antwort auf [ dasistideal ] 1. ich nutze os x 10.10.1 Yosemite
2. der Befehl lautet networksetup -listlocations
3 . das Ergebnis sieht so aus:
umgebung 1
umgebung 2
Automatic
4. die liste wird mit choose from list erzeugt
5. je nach Wahl netzwerkumgebung wechseln

reicht evtl:
Code
paragraphs of (do shell script "networksetup -listlocations") 

?

terminal liste in applescript liste

dasistideal
Beiträge gesamt: 22

1. Jul 2015, 21:12
Bewertung:

gelesen: 2229

Beitrag als Lesezeichen
genau das, danke ...
das ist ideal.
: D

Kann man noch irgendwie alphabetisch sortieren?

(Dieser Beitrag wurde von dasistideal am 1. Jul 2015, 21:20 geändert)

terminal liste in applescript liste

kkauer
Beiträge gesamt: 661

1. Jul 2015, 22:19
Bewertung:

gelesen: 2189

Beitrag als Lesezeichen
Antwort auf [ dasistideal ] Kann man noch irgendwie alphabetisch sortieren?

latürnich ;) Die Frage ist: Möchtest du in AppleScript sortieren oder kann/soll das auch "in der Shell" passieren?

terminal liste in applescript liste

dasistideal
Beiträge gesamt: 22

2. Jul 2015, 09:36
Bewertung:

gelesen: 2075

Beitrag als Lesezeichen
[ Edit: Der Delimiter wird nicht abgeändert. Aber Du musst den Leerschlag entfernen, welchen der Server bei jeder Zeile anfügt. ]

wo finde ich denn den leerschlag ?

Antwort auf [ kkauer ] Möchtest du in AppleScript sortieren oder kann/soll das auch "in der Shell" passieren?

zähl am besten beide auf dann kann ich gucken welchen ich leichter finde : )

terminal liste in applescript liste

Hans Haesler
  
Beiträge gesamt: 5826

2. Jul 2015, 10:42
Bewertung:

gelesen: 2035

Beitrag als Lesezeichen
Hallo dasistideal,

Zitat wo finde ich denn den leerschlag ?


am Ende jeder Zeile (vor dem Return) fügt die liebe Server-Software einen unnötigen Leerschlag ein.

Die meisten davon stören nicht. Aber in der besagten Zeile schon.

Doch wenn Du den Vorschlag von Karsten benutzest, ist das kein Problem.

Gruss, Hans

terminal liste in applescript liste

kkauer
Beiträge gesamt: 661

2. Jul 2015, 12:39
Bewertung:

gelesen: 2009

Beitrag als Lesezeichen
Antwort auf [ dasistideal ] zähl am besten beide auf dann kann ich gucken welchen ich leichter finde : )


leichter ist die Shell-Variante. Lassen wir es dabei. ;)
Code
paragraphs of (do shell script "networksetup -listlocations | sort -f")