带有 && 运算符的 seq 命令不起作用

带有 && 运算符的 seq 命令不起作用

我正在尝试在 bash 中创建一个 for 循环,在其中发出特定频率的哔声,然后增加直到达到 500,然后回到 1。我为此使用了“seq”命令,但我遇到了一点障碍,我无法在 seq 上使用“&&”运算符!每当我运行它时,它都会增加到 500,但不会再回落。例如,如果我运行

for i in $( seq 1 10 && seq 10 1 );
do
    echo $i
done

它输出

1
2
3
4
5
6
7
8
9
10

而且它不会回落。而且这不仅仅是 for 循环,我在终端中只用两个 seq 命令尝试过,但仍然不起作用。任何帮助都值得感激。谢谢!

答案1

您需要将增量作为负数,即在您的情况下-1

例如:

$ seq 1 5 && seq 5 -1 1
1
2
3
4
5
5
4
3
2
1

这里seq 5 -1 1采用的格式是seq FIRST INCREMENT LAST

此外,如果您想要从 10 到 0 的每个替代数字:

$ seq 10 -2 0
10
8
6
4
2
0

检查man seq以获得更多想法。

相关内容