Impedir a parada do applecript durante a execução do shell script com privilégios de administrador

Se você precisar fazer um script shell via applecript como root (privilégios de administrador), sem interação do usuário (sem solicitação de senha) e sem matar applecript (espera até que o script responda, mas há scripts sem resposta como [ …] / xampp start), tente isto:

do shell script "echo <your password> | sudo -S <command to execute> &"

As partes:

  1. Anexar um “e” comercial ao comando indica que ele deve continuar sem aguardar a saída.
  2. Normalmente, você deve usar a instrução com privilégios de administrador no final da linha do shell script , mas se você não quiser que a senha do usuário seja solicitada, você deve adicionar a senha <sua senha> no final do linha … Downer: O “e” comercial no final do comando que você deseja executar não funcionará se você fizer isso

The Downsides

  1. A senha deverá estar em texto simples, mas espero que você não a use em um ambiente muito sensível. (Encapsular o script como um aplicativo pode adicionar uma “camada de segurança”.)

Com tudo isso considerado, aproveite!