Como executo este script com o sudo a partir da linha de comando? [duplicado]

1

Eu tenho o seguinte script no diretório bin do meu usuário; vamos fingir que o nome do arquivo é 'myScript':

#!/bin/bash

python3 /myPath/myProgram.py "$@"

Na linha de comando, se eu digitar myScript , ele inicia meu myProgram.py. Se eu digitar sudo myScript , no entanto, isso me dará este erro: sudo: myProgram: command not found .

Por que isso não funciona? Como posso fazer isso funcionar?

Obrigado!

    
por Shule 21.08.2015 / 13:00

1 resposta

4

Você provavelmente precisará executar o script como:

  • sudo /path/to/myScript
  • sudo ./myScript (se o script estiver no diretório atual)

O motivo pelo qual você obtém command not found é que o script não está no diretório PATH do usuário atual. No entanto, usar sudo o executa como um usuário - raiz diferente (compare echo $PATH e sudo -i then echo $PATH para ver). Então, você quer adicioná-lo ao PATH do usuário root:

por Wilf 21.08.2015 / 13:13