Запустіть файл Unix з яблучним сценарієм із показаним результатом


0

Я використовую наступний скрипт https://github.com/chilcote/warranty
Це дуже добре працює з терміналом.

Тепер я хочу використовувати його з яблуком.
Я думаю про "робити скрипт оболонки" і про те, що сценарій знаходиться в каталозі "Ресурси"

Я спробую це рішення, але воно не працює.

Моя мета: я хочу додаток для яблучного сценарію, який показує мені статус гарантії.

Спасибі за вашу допомогу.

мій код яблучного сценарію

set warranty to do shell script "bash " & POSIX path of (path to me) & "Contents/Resources/warranty.sh"
display dialog warranty

помилка:

error "/Users/tz/Desktop/warranty: line 43: 
Apple warranty estimation script.

This script estimates whether a given serial number is under warranty.
Input can be one or more given serial numbers, or a text file listing serials.
Output can be standard out or a CSV file.

usage: warranty [-h] [-v] [--quit-on-error] [-i INPUT] [-o OUTPUT] ...

positional arguments:
  serials

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         print output to console while writing to file
  --quit-on-error       if an error is encountered
  -i INPUT, --input INPUT
                        import serials from a file
  -o OUTPUT, --output OUTPUT
                        save output to a csv file

: command not found
/Users/tz/Desktop/warranty: line 45: import: command not found
/Users/tz/Desktop/warranty: line 46: import: command not found
/Users/tz/Desktop/warranty: line 47: import: command not found
/Users/tz/Desktop/warranty: line 48: import: command not found
from: can't read /var/mail/dateutil
/Users/tz/Desktop/warranty: line 50: import: command not found
/Users/tz/Desktop/warranty: line 51: import: command not found
/Users/tz/Desktop/warranty: line 52: import: command not found
/Users/tz/Desktop/warranty: line 53: import: command not found
/Users/tz/Desktop/warranty: line 54: import: command not found
/Users/tz/Desktop/warranty: line 56: syntax error near unexpected token `('
/Users/tz/Desktop/warranty: line 56: `def get_asd_plist():'" number 2

Якщо ваш клієнт сказав "це не працює", яким буде ваше наступне запитання до них? Як ми можемо зрозуміти, що не працює? Будь ласка, відредагуйте своє запитання та надайте додаткову інформацію, таку як повідомлення про помилки, збої тощо. Тоді ми можемо допомогти :)
Дейв

Гарантійний скрипт - це сценарій python (.py), а не bash (.sh). Помилки виходять з bash, оскільки ваш AppleScript змушує гарантію працювати під bash.
creidhne

Відповіді:


0

Скопійовано з коментаря:

warrantyСценарій є Python ( .py) скрипт, а НЕ Bash ( .sh) сценарій. Помилки йдуть від удару, оскільки ваш AppleScript змушує запускати гарантію bash.

Іншими словами, ви хочете

set warranty to do shell script "python " & POSIX path of (path to me) & "Contents/Resources/warranty.sh"

(або можливо, "python3 "якщо сценарій є сценарієм Python 3, і ви pythonпосилаєтесь на версію Python 2).

Про це випливає з повідомлень про помилки; можливо, сценарій є ще однією мовою. importі fromє загальними ключовими словами в сценаріях Python, тому висновок, ймовірно, є хорошим здогадом; але ми не можемо точно сказати, не побачивши принаймні початок джерела warrantyсценарію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.