O Nohup não funciona corretamente com o bash for loop
Sep 19 2020
Tenho tentado usar nohup com bash for loop e me deparei com este post aqui que foi útil e me deu uma ideia, mas meu comando ainda não está funcionando corretamente. O que eu tenho agora parece:
nohup sh -c 'for i in {0..9}; do spark-submit --class some.Code /some/Jar.jar --input_path /some/path/part-001"$i"* > test_log.log; done' &
quando eu executo isso, o trabalho falha, com a seguinte exceção de que o caminho de entrada não existe e me mostra o caminho como:
/some/path/part-001{0..9}*
Como posso substituir isso $ipelo valor real de i e não pela string {0..9}?
Respostas
2 KamilMaciorowski Sep 18 2020 at 23:17
O problema não tem nada a ver com nohup.
A expansão da cinta é um basismo . Seu código é executado she não se expande {0..9}. Use em bashvez de sh.
Se você ainda quiser usar sh, então for i in $(seq 0 9); do ….
(Quase sempre deve-se aspas duplas $(), mas neste caso não citar é a coisa certa).
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino