Linux 因为{00..03}中的i不';我不能和诺胡普一起工作

Linux 因为{00..03}中的i不';我不能和诺胡普一起工作,linux,bash,for-loop,Linux,Bash,For Loop,提交给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,为什么? 另外,在debian 8或ubuntu 15.10上(“seq-w”起作用)如果您的文件没有shebang,则取决于shellnohup运行

提交给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,为什么?
另外,在debian 8或ubuntu 15.10上(“seq-w”起作用)

如果您的文件没有shebang,则取决于shell
nohup
运行脚本。将此行前置到文件:

  #!/bin/bash

如果文件没有shebang,则取决于shell
nohup
在中运行脚本。将此行前置到文件:

  #!/bin/bash

由于大括号扩展不是POSIX shell功能,而且许多系统服务都是在POSIX模式下运行的,所以这不起作用

解决这一问题的便携式方法是使用

for i in 00 01 02 03; do
  something
done

如果你养成了用POSIX方式做事的习惯,你会遇到较少的这种惊喜。

因为大括号扩展不是POSIX外壳特性,而且许多系统服务都是在POSIX模式下运行的,所以这不起作用

解决这一问题的便携式方法是使用

for i in 00 01 02 03; do
  something
done

如果你养成了用POSIX方式做事的习惯,你将不会遇到这样的惊喜。

在我的系统中工作得很好。你使用的是哪种系统?Ubuntu linux并将这一行放入
#/bin/bash
在文件中。谢谢,它与#一起工作/bin/bashIt在我的系统中运行良好。您使用的是哪一个系统?Ubuntu linux,并放置行
#/bin/bash
在文件中。谢谢,它与#一起工作/bin/bash