Como executar o comando Linux em trabalhos, quando executar o script Bash
772
Quero executar esses comandos em trabalhos do Linux, para que quando eu digitar "jobs", eu possa gerenciar esses trabalhos. Como fazer isso (no script bash)?
O escopo de controle de tarefas bashé limitado ao shell no qual você executa as tarefas.
O que você postou parece um texto de um script de shell. Então, quando você executa esse script, ele é executado em uma instância separadabash que sai logo após o término do seu script. Então, esses comandos foram executados como jobs , mas esses jobs pertenciam a um shell que não existe mais e não pode fornecer controle de job - não a um shell no qual você está digitando seus comandos.
Se você quiser que esses comandos sejam visíveis como jobs no seu shell atual , você também tem que executar seu script de shell no seu shell atual , sem gerar um novo shell. Então, em vez de simplesmente executar seu script como por exemplo.
./script.sh
você tem que obter a origem do script, ou seja, executar seu conteúdo dentro do contexto do shell atual:
. ./script.sh
(sim, .é um bashcomando que diz ao shell para obter o script!)
Então seus sshcomandos devem ficar visíveis como tarefas.
BTW. os execcomandos no seu script são completamente desnecessários. Você pode removê-los enquanto ainda tem o efeito desejado.
O escopo de controle de tarefas
bash
é limitado ao shell no qual você executa as tarefas.O que você postou parece um texto de um script de shell. Então, quando você executa esse script, ele é executado em uma instância separada
bash
que sai logo após o término do seu script. Então, esses comandos foram executados como jobs , mas esses jobs pertenciam a um shell que não existe mais e não pode fornecer controle de job - não a um shell no qual você está digitando seus comandos.Se você quiser que esses comandos sejam visíveis como jobs no seu shell atual , você também tem que executar seu script de shell no seu shell atual , sem gerar um novo shell. Então, em vez de simplesmente executar seu script como por exemplo.
você tem que obter a origem do script, ou seja, executar seu conteúdo dentro do contexto do shell atual:
(sim,
.
é umbash
comando que diz ao shell para obter o script!)Então seus
ssh
comandos devem ficar visíveis como tarefas.BTW. os
exec
comandos no seu script são completamente desnecessários. Você pode removê-los enquanto ainda tem o efeito desejado.