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

Min*_*ipp 3 command-line

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

for i in $( seq 1 10 && seq 10 1 );
do
    echo $i
done
Run Code Online (Sandbox Code Playgroud)

它输出

1
2
3
4
5
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)

而且它不会回落。这不仅仅是 for 循环,我已经在终端中使用两个 seq 命令尝试过它,但它仍然无法工作。任何帮助表示赞赏。谢谢!

hee*_*ayl 5

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

例如:

$ seq 1 5 && seq 5 -1 1
1
2
3
4
5
5
4
3
2
1
Run Code Online (Sandbox Code Playgroud)

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

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

$ seq 10 -2 0
10
8
6
4
2
0
Run Code Online (Sandbox Code Playgroud)

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