nohup: falha ao executar o comando '.': Permissão negada

3

Eu tentei executar meu script usando:

nohup . test.sh

e

nohup . ./test.sh

No entanto, recebi: nohup: failed to run command '.': Permission denied de cada vez.

O que estou realmente tentando fazer é no meu script poder chamar comandos com alias, mas ele só funciona com " . test.sh " ou " . ./test.sh ", não " ./test.sh " ou " sh ./test.sh " quando recebo um "comando não encontrado". Mas eu gostaria de poder executar isso com "nohup".

    
por user994165 16.08.2017 / 23:49

1 resposta

12

nohup executa um executável. Você precisa passar um comando externo, ou seja, um arquivo executável. Você não pode chamar nohup em uma construção de shell como um alias, função ou builtin. nohup executa um novo processo, ele não roda algo dentro do processo de shell existente (desde que nohup em si é um processo separado), então nohup . … não faz sentido.

nohup ./test.sh é a maneira correta de executar um script de shell com nohup. Certifique-se de que o script comece corretamente com uma linha shebang ( #!/bin/sh ) e que o arquivo seja executável ( chmod +x ./test.sh ).

    
por 16.08.2017 / 23:54