|
 |
Het MacFreak® Forum - Voor online ondersteuning in het Nederlands! |
 |
|
 |
|
|
|
|
fvandijk
Niet Aanwezig

MacFreak Verslaafde
|
Aantal berichten: 212 | Lid sinds: 31-10-2003 | Geplaatst om: 11:19 - 07-02-2010
Ik wil een ingevoerde variabele vanuit applescript gaan gebruiken in een bash script dat vanuit applescript wordt aangeroepen. Iemand een suggestie? set vara to "" tell application "Finder" display dialog "Geef variabele in;" default answer vara buttons {"OK"} default button 1 set ordernr to text returned of the result end tell do shell script "/bin/tcsh start.sh | tr a-z A-Z" of do shell script "/bin/tcsh start.sh" |
iPhone 4-32 Gb // MacBook Pro i7 2.66 8Gb 15"HR 7200rpm Momentum XT // iPad 64 Gb 3G // iPod Nano-16 Gb ®Red // MacBook Air 1.8 SSD // iPod Video 30 Gb // iPod Nano 4 Gb // iPod Nano 2 Gb // iPod Shuffle (3x) // Switcher sinds 17-10-1987
|
|
|
|
hitchhiker
Niet Aanwezig

Een ware MacFreak!
|
Aantal berichten: 7820 | Lid sinds: 22-07-2003 | Geplaatst om: 15:40 - 07-02-2010
Gewoon meegeven! Je kunt in Applescript met de tekst doen wat je wilt voordat je die doorgeeft. do shell script "/bin/tcsh start.sh" & " " & vara as text bijv. |
Don't Panic!
|
|
|
|
fvandijk
Niet Aanwezig

MacFreak Verslaafde
|
Aantal berichten: 212 | Lid sinds: 31-10-2003 | Geplaatst om: 23:02 - 07-02-2010
do shell script "/bin/bash /start.sh" & " " & vara as text Dat is het toch niet als ik het script uitvoer zie ik in mijn scherm Events het volgende: do shell script "/bin/bash /start.sh 1223" as text en als ik in mijn shell script een echo $vara geeft dan is deze " |
iPhone 4-32 Gb // MacBook Pro i7 2.66 8Gb 15"HR 7200rpm Momentum XT // iPad 64 Gb 3G // iPod Nano-16 Gb ®Red // MacBook Air 1.8 SSD // iPod Video 30 Gb // iPod Nano 4 Gb // iPod Nano 2 Gb // iPod Shuffle (3x) // Switcher sinds 17-10-1987
|
|
|
|
BOlle
Niet Aanwezig

MacFreak Verslaafde
|
Aantal berichten: 625 | Lid sinds: 31-01-2004 | Geplaatst om: 01:15 - 08-02-2010
Apple Certified System Administrator
|
|
|
|
fvandijk
Niet Aanwezig

MacFreak Verslaafde
|
Aantal berichten: 212 | Lid sinds: 31-10-2003 | Geplaatst om: 07:21 - 08-02-2010
Dat is niet de oplossing do shell script "/bin/sh start.shfietsbel" Resultaat: error "/bin/sh: start.shfietsbel: No such file or directory" number 127 Als je de variabele er achter plakt 'plakt' hij hem gewoon aan het commando. Ik wil gewoon dat de variabele die in Applescript wordt ingevoerd verderop in het aangeroepen shell script bruikbaar is. |
iPhone 4-32 Gb // MacBook Pro i7 2.66 8Gb 15"HR 7200rpm Momentum XT // iPad 64 Gb 3G // iPod Nano-16 Gb ®Red // MacBook Air 1.8 SSD // iPod Video 30 Gb // iPod Nano 4 Gb // iPod Nano 2 Gb // iPod Shuffle (3x) // Switcher sinds 17-10-1987
|
|
|
|
BOlle
Niet Aanwezig

MacFreak Verslaafde
|
Aantal berichten: 625 | Lid sinds: 31-01-2004 | Geplaatst om: 09:24 - 08-02-2010
 |
Citaat: fvandijk om 8:21, 8-02-2010 Ik wil gewoon dat de variabele die in Applescript wordt ingevoerd verderop in het aangeroepen shell script bruikbaar is. |
 |
| Dat kan door in het shell script naar de applescriptvariable als "$1" te verwijzen. Daarmee pakt de shell de eerste meegegeven variable, in mijn voorbeeld is dat ordernr, in jouw laatste voorbeeld is dat fietsbel. Die fietsbel werkt niet, want er mist een spatie tussen start.sh en fietsbel. "$2" is de tweede meegegeven variable, bijvoorbeeld start.sh variable1 variable2. Een voorbeeld op basis van je eerste script:
| Code: | set vara to "" tell application "Finder" display dialog "Geef variabele in;" default answer vara buttons {"OK"} default button 1 set ordernr to text returned of the result do shell script "/bin/sh bingo " & ordernr end tell
| In het shell script bingo gebruik je dan "$1" om te verwijzen naar het ordernr:
| Code: | #!/bin/bash say the winning number is "$1"
|
|
Apple Certified System Administrator
|
|
|
|
hitchhiker
Niet Aanwezig

Een ware MacFreak!
|
Aantal berichten: 7820 | Lid sinds: 22-07-2003 | Geplaatst om: 21:41 - 08-02-2010
 |
Citaat: fvandijk om 7:21, 8-02-2010 Ik wil gewoon dat de variabele die in Applescript wordt ingevoerd verderop in het aangeroepen shell script bruikbaar is. |
 |
|
 |
Citaat: fvandijk om 23:02, 7-02-2010 Dat is het toch niet als ik het script uitvoer zie ik in mijn scherm Events het volgende: do shell script "/bin/bash /start.sh 1223" as text |
 |
| Ik weet niet wat er fout gaat alsdat die "as text" blijft staan, maar hoe moeilijk is het om te bedenken dat die "as text" er dan misschien af kan/moet? Je geeft do shell script één (1) string met een valide opdracht. Hoe je die opdracht in elkaar knutselt is jou probleem. Doe je het niet goed, dan krijg je een foutmelding. Als dat over padnamen gaat, dan ligt de fout (zo te zien) aan het shell script. Je hebt niet verteld hoe en wat precies de bedoeling is, dus dit is niet meer dan een educated guess. Als het je zó niet lukt, maak dan eerst die string met de (beperkte) mogelijkheden die AppleScript daarvoor heeft. Geef die aan Do Shell Script:
| Code: | do shell script knutselvariabele
| of gebruik de methode-BOlle hierboven. |
Don't Panic!
|
|
|
|
|
|
|
|
|
|
 |
|
 |
MF-Forum v6.0.0 © 2001/2010 - MacFreak® Interactive Media
|
|
|
|