Linux for循环在shell脚本中不起作用

Linux for循环在shell脚本中不起作用,linux,shell,loops,for-loop,Linux,Shell,Loops,For Loop,对于shell脚本中的“for循环”,我一直使用以下格式: 例如: for i in {11001..110039} do cp /home/usr/BB${i} /home/usr/ 现在,我得到以下错误: /home/usr/BB{11001..11039} does not exist 应该考虑所有的文件BB11001到BB1039,它总是这样工作,现在我不知道为什么我会得到这个错误。 有什么帮助吗?您可能正在使用/bin/sh而不是/bin/bash 编辑#1(PoC): 您可

对于shell脚本中的“for循环”,我一直使用以下格式:

例如:

for i in {11001..110039}  
do
cp /home/usr/BB${i}  /home/usr/
现在,我得到以下错误:

/home/usr/BB{11001..11039} does not exist
应该考虑所有的文件BB11001到BB1039,它总是这样工作,现在我不知道为什么我会得到这个错误。
有什么帮助吗?

您可能正在使用/bin/sh而不是/bin/bash

编辑#1(PoC):


您可能正在使用/bin/sh而不是/bin/bash

编辑#1(PoC):


您可能正在使用/bin/sh而不是/bin/bash

编辑#1(PoC):


您可能正在使用/bin/sh而不是/bin/bash

编辑#1(PoC):

语法应为:

对于{11001..110039}中的i; 做 cp/home/usr/BB${i}/home/usr/; 完成

语法应为:

对于{11001..110039}中的i; 做 cp/home/usr/BB${i}/home/usr/; 完成

语法应为:

对于{11001..110039}中的i; 做 cp/home/usr/BB${i}/home/usr/; 完成

语法应为:

对于{11001..110039}中的i; 做 cp/home/usr/BB${i}/home/usr/;

完成

你能提供你的bash版本吗(如果你真的在使用bash的话)?GNU bash版本4.1.5我不确定该语法是在哪个版本引入的,但v4.1.5似乎是最新的版本,足以实现它。我现在已经用版本4.2.45尝试过了,它运行得非常完美。无论如何,您可以始终使用((i=11001;i)的
,您可以提供您的bash版本(如果您确实在使用bash)?GNU bash版本4.1.5我不确定该语法是在哪个版本引入的,但v4.1.5似乎是最新的版本来实现它。我现在已经在版本4.2.45中尝试过了,它运行得非常完美。无论如何,您可以始终使用((I=11001;I)提供您的bash版本(如果您真的使用bash)?GNU bash版本4.1.5我不确定该语法是在哪个版本引入的,但v4.1.5似乎是最新的版本来实现它。我现在已经在版本4.2.45中尝试过了,它运行得非常完美。无论如何,您可以始终使用((I=11001;I)提供您的bash版本(如果您真的使用bash)?GNU bash版本4.1.5我不确定该语法是在哪个版本引入的,但v4.1.5似乎是最新版本,足以实现它。我现在已经在版本4.2.45中尝试过了,它运行得非常完美。无论如何,您可以始终使用
来实现它((i=11001;iis语法正确吗?对于单词中的i应该是
;语句完成了吗
?是的,语法就像你写的那样吗?那么/home/usr/BB11001存在吗?语法正确吗?对于单词中的i应该是
;语句完成了吗
?是的,语法就像你写的那样/home/usr/BB11001存在吗?语法正确吗?语法正确吗r i in words;do#statements done
?是的,语法就像你写的那样/home/usr/BB11001存在吗?语法正确吗?对于i in words;do#statements done
?是的,语法就像你写的那样/home/usr/BB11001存在吗?这是不相关的。OP语法是正确的,因为他在cpIt之后使用了“done”语句不相关。OP语法是正确的,因为他在cpIt不相关之后使用“done”语句。OP语法是正确的,因为他在cpIt不相关之后使用“done”语句。OP语法是正确的,因为他在cp之后使用“done”语句
$ bash --version
GNU bash, version 4.2.45(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

$ cat t.sh 
#!/bin/bash

for i in {1..5}
do
echo $i
done
$ ./t.sh
1
2
3
4
5
$
$ cat t.sh 
#!/bin/sh

for i in {1..5}
do
echo $i
done
$ ./t.sh
{1..5}
$