log example linux bash unix nohup

linux - example - nohup windows



¿Por qué no puedo usar Unix Nohup con Bash For-loop? (4)

Por ejemplo, esta línea falla:

$ nohup for i in mydir/*.fasta; do ./myscript.sh "$i"; done > output.txt& -bash: syntax error near unexpected token `do

¿Cuál es la forma correcta de hacerlo?


Para mí, la solución de Jonathan no se redirige correctamente a output.txt. Este funciona mejor:

nohup bash -c ''for i in mydir/*.fasta; do ./myscript.sh "$i"; done'' > output.txt &


Porque ''nohup'' espera un comando de una sola palabra y sus argumentos, no una construcción de bucle de shell. Deberías usar:

nohup sh -c ''for i in mydir/*.fasta; do ./myscript.sh "$i"; done >output.txt'' &


Puedes hacerlo en una línea, pero es posible que también quieras hacerlo mañana.

$ cat loopy.sh #!/bin/sh # a line of text describing what this task does for i in mydir/*.fast ; do ./myscript.sh "$i" done > output.txt $ chmod +x loopy.sh $ nohup loopy.sh &


También podrías escribirlo como

for i in mydir/*.fasta; do nohup ./myscript.sh "$i" > output.txt; done &