Nohup 无法正确与 bash for 循环配合使用

Nohup 无法正确与 bash for 循环配合使用

我一直在尝试使用 nohup 和 bash for 循环,然后我看到了这篇文章这里这很有帮助,给了我一个想法,但我的命令仍然无法正常工作。我现在的情况是这样的:

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' &

当我运行这个作业时,它失败了,出现以下异常:输入路径不存在,并显示如下路径:

/some/path/part-001{0..9}*

我怎样才能$i用 i 的实际值而不是字符串来替换它{0..9}

答案1

该问题与 无关nohup

括号扩展是一种批判主义。运行代码sh时不会扩展{0..9}。使用bash而不是sh

如果您仍想使用sh,那么for i in $(seq 0 9); do …
(几乎总是应该使用双引号$(),但在这种情况下不引用是正确的。)

相关内容