.png)
como posso executar mais de um comando ao mesmo tempo? (OS = sol solaris)
Responder1
Fico feliz em ver que você está disposto a aprender shell, como sugeri anteriormente em outra pergunta. :-)
Para colocar o comando em segundo plano e deixá-lo executar lá:
yourcommand &
Para voltar a esse processo (se apenas um processo em segundo plano tiver sido iniciado):
fg
Para listar todos os processos em segundo plano:
jobs -l
Se você quiser apenas executar um comando, depois outro e depois outro....
yourcommand && yourothercommand && youryetanothercommand
O exemplo acima prosseguiria para o próximo comando somente se o comando anterior fosse bem-sucedido sem erros. Se você não se importa se o comando anterior foi bem-sucedido ou não, você pode fazer
yourcommand; yourothercommand; youryetanothercommand
Além disso, o comando screen
será seu novo melhor amigo. Ele permite que você inicie um processo em sua própria "tela", que você pode desconectar e reconectar posteriormente, para que você possa, por exemplo, conectar-se a um servidor a partir do computador desktop da sua empresa, iniciar uma tela e deixar um comando de longa execução ser executado lá, desconecte a sessão, vá até o laptop da sua empresa, conecte-se a esse servidor e reconecte a sessão e veja o que aconteceu enquanto isso.
De qualquer forma, tudo isso é o tipo de básico que eu não deveria explicar para você; vá e leia um tutorial para começar! Apenas Google paratutoriais bash, se o seu shell for bash. Você parece estar usando o Solaris, então seu shell pode muito bem sercsh, nesse caso google portutoriais de csh. Eles são semelhantes entre si, mas algumas diferenças se aplicam, por exemplo, a variáveis de ambiente.
Responder2
Você não está tentando executar dois comandos ao mesmo tempo, mas deseja executar um segundo comando na saída do primeiro. SvenW já mencionou o argumento -exec para encontrar, mas outra maneira é usar xargs, que permite usar a saída de um comando canalizado como argumento para outro comando.
Digamos que você queira encontrar todos os diretórios chamados foo e ver as permissões de todos os arquivos desse diretório:
encontrar / -type d -name 'foo' -print0 | xargs -0 ls -la
(Veja as páginas de manual para find e xargs para uso de -print0 e -0 se necessário.)
Responder3
Por favor, explique o que você deseja fazer, porque há muitas maneiras de fazer isso.
- Você pode encadear comandos como
command1; command2
- Você pode colocar comandos de longa duração em segundo plano com & like
command &
- Você pode usar screen (altamente recomendado
man screen
) para ter vários consoles virtuais em execução ao mesmo tempo, mesmo depois de desconectar. - Você pode escrever scripts de shell
- etc etc.
Leia qualquer guia para iniciantes em Linux/Unix, isso será explicado em detalhes.
Além disso, este não é um fórum para iniciantes para aprender os fundamentos. O tipo de perguntas que você faz é mais adequado no site irmãosuperusuário.com.