</dev/null desconecta a entrada do programa do terminal. Alguns programas reagem de maneira diferente, dependendo de como sua entrada padrão está conectada. Com o redirecionamento </dev/null , o programa pode dizer que sua entrada não vem de um terminal e receberá uma indicação de fim de arquivo imediatamente se tentar ler a partir de sua entrada padrão.
O lone & no final faz com que o programa seja executado em segundo plano. Isso significa que você recebe um prompt imediatamente. Sem o & , você obteria um aviso de shell apenas quando o programa terminar de executar.
Observe que o & independente não está relacionado a >& . >& é um operador de redirecionamento (em tcsh, bash e zsh) que redireciona a saída padrão do programa e o erro padrão do programa para o nome do arquivo especificado após o operador (aqui log ).
Em outras palavras, o que o shell faz quando vê essa linha de comando é:
- Inicie um processo em segundo plano. No processo de segundo plano:
- Conecte a entrada padrão a
/dev/null (o dispositivo nulo ).
- Conecte a saída padrão e o erro padrão ao arquivo chamado
log (criando o arquivo, se ainda não existir, e truncando-o, se existir).
- Procure um arquivo executável chamado
java no $PATH .
- Execute esse arquivo com os 5 argumentos
-cp , /home/weka.jar , weka.classifiers.trees.J48 , –t , train_file '.