Como faço para Nohup um script de shell interativo?

2

Meu script está tendo 2 argumentos de linha de comando e, depois, apenas algumas perguntas, depois dessas perguntas o script será executado por si mesmo, eu sou capaz de passar o argumento da linha de comando apenas fazendo

-bash-3.2$ nohup ./Script.sh 21 7
nohup: appending output to 'nohup.out'

-bash-3.2$

De qualquer forma, para adicionar as respostas dessas perguntas a serem feitas com nohup?

    
por Keyshov Borate 04.09.2014 / 06:44

1 resposta

4

Em vez de usar nohup , você pode fazer com que o seu script faça essas perguntas de forma interativa e, em seguida, em segundo plano e disown o restante de qualquer outra coisa que tenha a fazer.

Exemplo

$ more a.bash 
#!/bin/bash

read a
echo "1st arg: $a"
read b
echo "2nd arg: $b"

(
echo "I'm starting"
sleep 10
echo "I'm done"
) &
disown
Amostra executado:
$ ./a.bash 
10
1st arg: 10
20
2nd arg: 20
I'm starting
$
Verifique isso:
$ ps -eaf|grep a.bash
saml      6774     1  0 01:02 pts/1    00:00:00 /bin/bash ./a.bash
saml      6780 10650  0 01:02 pts/1    00:00:00 grep --color=auto a.bash
10 segundos depois:
$ I'm done
    
por 04.09.2014 / 07:03