Nohup no funciona correctamente con bash for loop
He estado tratando de usar nohup con bash for loop y encontré esta publicación aquí que fue útil y me dio una idea, pero mi comando aún no funciona correctamente. Lo que tengo ahora se ve así:
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' &
cuando ejecuto esto, el trabajo falla con la siguiente excepción de que la ruta de entrada no existe y me muestra la ruta como:
/some/path/part-001{0..9}*
¿Cómo puedo hacer que esto se reemplace $icon el valor real de i y no con la cadena {0..9}?
Respuestas
El problema no tiene nada que ver nohup.
La expansión de llaves es un bashismo . Su código se ejecuta shy no se expande {0..9}. Utilizar en bashlugar de sh.
Si aún desea usar sh, entonces for i in $(seq 0 9); do ….
(Casi siempre se deben hacer comillas dobles $(), pero en este caso no citar es lo correcto).