</dev/null
desconecta a entrada do programa do terminal. Alguns programas reagem de maneira diferente dependendo de qual entrada padrão está conectada. Com o redirecionamento </dev/null
, o programa pode dizer que sua entrada não é proveniente de um terminal e receberá uma indicação de fim de arquivo imediatamente se tentar ler sua entrada padrão.
O único &
no final faz com que o programa seja executado em segundo plano. Isso significa que você recebe um prompt de shell imediatamente. Sem o &
, você receberia um prompt de shell apenas quando o programa concluir a execução.
Observe que o autônomo &
não está relacionado >&
. >&
é 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ê esta linha de comando é:
- Inicie um processo em segundo plano. No processo em segundo plano:
- Conecte a entrada padrão ao
/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
.
- Executar esse arquivo com os 5 argumentos
-cp
, /home/weka.jar
, weka.classifiers.trees.J48
, –t
, train_file`.
Gilles 'SO- parar de ser mau'
fonte