Я хочу выполнить этот bash-скрипт, но не могу

Большое спасибо Касу за его ответ и помощь с синтаксисом bash, но я обнаружил, что из-за некоторой возни,тильдав ~/Library/LaunchAgents/[agent]является причиной проблемы в том, чтобы заставить скрипт работать так, как задумано. и не выбрасывать составной путь.

По какой-то причине тильда не раскрывается в параметре адреса launchctl, поэтому, если у кого-то еще возникла эта проблема, используйте:

$HOME/Library/LaunchAgents/[agent]

для обращения к вашему агенту в команде launchctl.

Этот путь описан здесь в разделе «устаревшие команды», затем «загрузить»

N.B:для моего скрипта, по крайней мере, это на самом деле не устраняет ошибки генерирования launchctl, но исправляет функциональность. Несмотря на то, что в документации говорится:

Due to bugs in the previous implementation and long-stand- ing client expectations around those bugs, the load and unload subcommands will only return a non-zero exit code due to improper usage. Otherwise, zero is always returned.

.. ловушка ERR, которую я настроил, постоянно выдает ошибки без сообщения, даже если сценарий работает по назначению, а репликация команд вручную не выдает никаких сообщений об ошибках.

Возможно, кто-то сможет исправить мое невежество, но если вы все еще -чешете голову после моего предложения, попробуйте launchctl list | grep [agent_name]посмотреть, добились ли вы ожидаемого эффекта

-5
15.11.2021, 22:59
1 ответ

Чтобы запустить скрипт,:

  • Установить права на выполнение файла:

    chmod 755 <filename>
    

    , а затем запустите его

    ./<filename>
    
  • Вызовите его, используя в качестве аргумента для bash, не нужно сначала устанавливать разрешения:

     bash <filename>
    

    Чтобы увидеть выполнение каждой строки, используйте-x

     bash -x <filename>
    
0
16.11.2021, 03:01

Теги

Похожие вопросы