一个好用户解决了我的问题,所以我改变了我的问题,现在它与另一个问题之前不一样了。 我的排列现在看起来像这样:
x=3
for i in $(eval echo "{1..$x}{1..$x}{1..$x}"); do
echo "$i"
done
如何从输出中获得这些数字(123,132,231,213,321,312),其中两个"用于"期间和" seq"命令?
答案 0 :(得分:1)
如果您希望能够在{1..3}
{1..$x}
之内动态设置3。如果您尝试这样做,您将体验到输出将是{1..3}
而不是预期的1 2 3
。这是因为大括号在变量之前被扩展。
您需要使用的是eval echo "{1..$x}"
,它确实会输出1 2 3
。在for循环中,您可以使用命令替换:
x=3
for i in $(eval echo "{1..$x}{1..$x}{1..$x}"); do
echo "$i"
done