Öffnen und Übergeben von Argumenten an eine Anwendung mithilfe eines Shell-Skripts auf einem Mac

1284
Kevin Doherty

Ich versuche, ein Shell-Skript auf einem Mac zu schreiben, das RIATest öffnet und ihm Parameter übergibt. Mein Code lautet:

#!/bin/bash echo THIS TEST!!!  open -a '/Applications/RIATest 4/RIATest.app' --args /b /r /e 5 /p ..//FMNG_RIATest//doScriptGenerator.rtp /rs ..//FMNG_RIATest//doScriptGenerator.rts /rf ..//FMNG_RIATest/doScriptGenerator.rtw 

Sobald ich ein Argument hinter --args stelle, öffnet sich das Programm nicht. Jede Hilfe wäre dankbar.

0
Bitte überprüfen Sie Ihre Formatierung. Der Code wird mit "Strg-K" eingerückt. slhck vor 11 Jahren 0

1 Antwort auf die Frage

0
Darth Android

Stellen Sie sicher, dass Sie -anstelle von Schrägstrichen ( /) Bindestriche ( ) für Ihre Argumente in OSX verwenden .

In der Dokumentation wird dies nicht eindeutig erwähnt. Wenn Sie jedoch oben nachlesen, wie RIATest in Ihren Pfad exportiert wird, sehen Sie ein Beispiel für die verwendeten Befehlszeilenoptionen. Alle anderen Beispiele beschreiben RIATest.exe, was eine ausführbare Windows-Datei ist, und erklären, warum sie Schrägstriche enthalten. Übersetzen Sie sie einfach in Bindestriche, wenn Sie Ihre Befehlszeile unter OSX erstellen.

Das `--args`-Ding sollte eigentlich funktionieren, pro Manpage von` open`. slhck vor 11 Jahren 0
Ich habe den executable_name gefunden und diesen Code ausprobiert: -a / Applications / 'RIATest 4' / RIATest.app / Contents / MacOs / RIATest / b, aber ich habe eine Fehlermeldung erhalten, die besagt, dass die Datei / b nicht vorhanden ist. Als ich die --args vor / b in dieser Zeile hinzufügte, gab es keinen Fehler, aber das Programm wurde immer noch nicht geöffnet. Vielen Dank für die schnellen Antworten! Kevin Doherty vor 11 Jahren 0
@KevinDoherty Verwenden Sie `-` anstelle von` / `für die Flags -` / `ist für Windows,` -` für Unix-ähnliche Umgebungen (MacOSX). Darth Android vor 11 Jahren 0
@KevinDoherty Meine Antwort wurde aktualisiert. Überprüfen Sie, ob Ihr ursprünglicher Versuch mit den Bindestrichen funktioniert. Darth Android vor 11 Jahren 0
Guten Anruf mit den Bindestrichen. Mein ursprünglicher Versuch öffnet das Programm jedoch immer noch nicht. Der einzige Beweis, dass ich das Skript ausgeführt habe, ist das Echo. Als Referenz: #! / Bin / bash echo DIESER TEST !!! open -a '/ Applications / RIATest 4 / RIATest.app' --args -b -r -e 5 -p ..//FMNG_RIATest//doScriptGenerator.rtp -rs ..//FMNG_RIATest//doScriptGenerator.rts -rf Vielen Dank noch einmal, vielen Dank für Ihre Zeit Kevin Doherty vor 11 Jahren 0