我正在尝试在 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 命令尝试过它,但它仍然无法工作。任何帮助表示赞赏。谢谢!
您需要将增量指定为负数,即在您的情况下-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
以获得更多想法。