如何从输出中删除具有相同数字的数字?

时间:2016-06-07 13:41:06

标签: linux bash shell permutation

一个好用户解决了我的问题,所以我改变了我的问题,现在它与另一个问题之前不一样了。 我的排列现在看起来像这样:

x=3
for i in $(eval echo "{1..$x}{1..$x}{1..$x}"); do
echo "$i"
done

如何从输出中获得这些数字(123,132,231,213,321,312),其中两个"用于"期间和" seq"命令?

1 个答案:

答案 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