Как выполнить HandbrakeCLI из скрипта?

Я пытаюсь выполнить скрипт, который запускает преобразование видео Handbrake.

Если я запускаю следующую команду из терминала, она работает нормально:

HandbrakeCLI -i inputtestfile.mp4 -o outputtestfile.mp4 -z "Preset"

Если я помещу это в скрипт .sh (и предоставлю права на выполнение скрипта с помощью chmod a+x), я получу следующую ошибку:

HandbrakeCLI: Command not found

Если потом указать полный путь к HandbrakeCLI, то работает, например:

/usr/local/Cellar/handbrake/1.2.0/bin/HandBrakeCLI -i inputtestfile.mp4 -o outputtestfile.mp4 -z "Preset"

Однако вышеописанный способ неудобен, так как каждый раз, когда я обновляю Handbrake до новой версии, мне приходится обновлять скрипт.

Как я могу добавить Path (я думаю, что это правильно) в скрипт, чтобы я мог просто использовать:

HandbrakeCLI -i inputtestfile.mp4 -o outputtestfile.mp4 -z "Preset"

Спасибо

Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
977
1

Ответы 1

Вы можете начать сценарий .sh с:

PATH=$PATH:/usr/local/Cellar/handbrake/1.2.0/bin

— это переменная среды, которая влияет на то, откуда будет искать неполные имена файлов (команды).

И для меняющейся версии вы можете проанализировать вывод HandBrake --version и использовать его как переменную вместо строки 1.2.0 в PATH.

Спасибо за помощь. Некоторые помогли мне решить эту проблему с помощью «/usr/local/bin/HandBrakeCLI».

HaveAGitGat 27.01.2019 06:06

Пожалуйста; но вы уверены, что этот файл не является символической ссылкой на указанный выше путь (на который все еще будет влиять управление версиями)?

user4104817 27.01.2019 11:09

Другие вопросы по теме