提交给nohup的for循环不起作用,通常是:
$ for i in {00..03};do echo $i;done
00
01
02
03
但是将这些代码写入test.sh,nohup ./test.sh&给出以下输出:
$ nohup ./test.sh &
{00..03}
无法生产00 01 02 03,为什么? PS。在debian 8或ubuntu 15.10('seq -w'作品)
答案 0 :(得分:3)
如果您的文件没有shebang,则取决于shell nohup
运行脚本。将此行添加到文件中:
#!/bin/bash
答案 1 :(得分:1)
由于大括号扩展不是POSIX shell功能,并且许多系统服务在POSIX模式下运行,因此无效。
仅使用
解决这个问题的便携方法就是使用for i in 00 01 02 03; do
something
done
如果你养成了以POSIX方式做事的习惯,那么你会遇到更少的惊喜。