Köra shellscript via Applescript - hur?

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1

Jag har ett shellscript som beghövs startas av användaren nu vet jag att det via AppleScript går att dra igång shellscript men hur?
Jag tittade i Automator och klistrade in mitt script där men den applikationen gjorde då ingenting. Finns det fler sätt att starta shellsrcipt på via Applescript?

do shell script
"kommandon"

Mitt shellscript är ett flertal rader, kan jag via detta peka på shellscript filen och köra den?

do shell script
"/där/scriptet/ligger.sh"

Hoppas ni förstår vad jag menar.

  • Medlem
  • International user
  • 2007-02-13 09:22

do shell script "
ls
df
mkdir \"En mapp\"
"

Om jag klistrat in mitt shellscript och rättar de fel som Script Editor för producerar får jag sedan detta fel:
Can't make current application into a type string

Verkar som om jag måste in i Xcode för att ordna det jag vill.

Allt om hur Applescript kan köra Schellscript står här
http://developer.apple.com/technotes/tn2002/tn2065.html

Felet du får är vanligt och det uppstår när programmet har en datatyp och du ber den om en annan. Det kan också beror på att du tilldelat en variabel innanför ett tell-kommando där visa saker "förstås" men sedan gått vidare och och är innanför ett annat tell-kommando och försöker göra något av dessa variabler. Säg tex att du bett Finder om en referens till en fil, och så försöker du få säg kalkylator (för att ta ett dumt exempel) att lägga ihop något med filreferensen, men kalkylator förstår inte datatypen, då du är innanför fel tell-kommando.

Xcode? Vad är det du försöker göra?

jag försöker köra ett shellscript via Applescript det är allt.

do shell script
"
#!/bin/bash/
Kommandon
Kommandon
Kommandon
Kommandon
Kommandon
Kommandon
Kommandon
Kommandon
"

Xcode kom jag in på pga av det som stod på Apples sidor.

I så fall citerar jag från sidan jag länkade till:

"Q: How can I use more than one command in a single do shell script? For example, I want to cd to some directory and then do some work, but it doesn’t remember the working directory from one invocation to the next.
A: Each invocation of do shell script uses a new shell process, so state such as changes to variables and the working directory is not saved from one to the next. To do several commands in a single invocation, separate the commands with semicolons like this:
do shell script "cd ~/Documents; ls"
-- result: "Welcome.txt"
"

1
Bevaka tråden