Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash中的序列表达式_Bash - Fatal编程技术网

bash中的序列表达式

bash中的序列表达式,bash,Bash,我习惯于使用bash的以下特性: for i in ${1..23} ; do echo $i ; done 这不是一概而论。例如,将23替换为甚至$p都不起作用。正如文档所说,这是一个纯粹的语法特性 你会用什么来代替这个 注意:当然,这可以使用while和一个辅助变量来完成,但这不是我想要的,即使它有效。事实上,我没有回答这个问题。如果您有可用的命令,该命令也可以执行类似的操作。您的示例可能是: p=23 for i in `seq 1 $p` do echo $i done 如果

我习惯于使用bash的以下特性:

for i in ${1..23} ; do echo $i ; done
这不是一概而论。例如,将
23
替换为甚至
$p
都不起作用。正如文档所说,这是一个纯粹的语法特性

你会用什么来代替这个


注意:当然,这可以使用while和一个辅助变量来完成,但这不是我想要的,即使它有效。事实上,我没有回答这个问题。

如果您有可用的命令,该命令也可以执行类似的操作。您的示例可能是:

p=23
for i in `seq 1 $p`
do
    echo $i
done

如果可用,该命令也可以执行类似的操作。您的示例可能是:

p=23
for i in `seq 1 $p`
do
    echo $i
done

在linux上,有一个
seq
命令(不幸的是,它在OSX中丢失)


OSX解决方法:

在linux上,有一个
seq
命令(不幸的是,OSX中缺少该命令)


OSX解决方案:

您可以使用seq工具来实现效果,我不知道这是否适合您的用例

~$ P=3 && for i in `seq 1 $P`; do echo $i; done
1
2
3
还是利特的建议

~$ P=3 && for ((i=1;i<=$P;i++)); do echo $i; done
1
2
3

~$P=3&&for((i=1;i

您可以使用seq工具来实现效果,我不知道这是否适合您的用例

~$ P=3 && for i in `seq 1 $P`; do echo $i; done
1
2
3
还是利特的建议

~$ P=3 && for ((i=1;i<=$P;i++)); do echo $i; done
1
2
3

~$P=3&&for((i=1;我想知道((i=1;我想知道,我没有完整的)注释(只是为了一个人)。不,我不知道,谢谢。顺便说一句,你应该在I和p前面加上“$”。Dup:稍有不同:seq只对边界求值一次;而算术形式在每次迭代时对其求值。@gzog,bash允许在算术表达式中省略
$
。你知道((I=1;我想知道,我没有“full”)的
吗评论(仅限个人)。不,我不知道,谢谢。顺便说一句,你应该在I和p前面加上“$”。Dup:稍有不同:seq只对边界求值一次;而算术形式在每次迭代时对其求值。@gzog,bash允许在算术表达式中省略
$
。我正在寻找一个以bash为中心的功能,这就是为什么litb更适合我的应用“用例”。seq也相当整洁。我正在寻找一个以bash为中心的特性,这就是为什么litb更适合我的“用例”。seq也相当整洁。