我写了一个 .sh 文件来编译和运行一些程序来完成家庭作业。我在脚本中有一个“for”循环,但除非我只使用整数,否则它不会工作:
#!/bin/bash
for (( i=10; i<=100000; i+=100))
do
./hw3_2_2 $i
done
变量 $i 是程序 hw3_2_2 的输入,我有我想使用的非整数值。我如何使用十进制数字列表循环运行代码?
最佳答案
令我惊讶的是,五年来没有人提到为生成范围而创建的实用程序,但是,话又说回来,它是 2005 年左右来自 BSD 的,也许当时它甚至还没有在 Linux 上普遍可用提出了问题。
但是这里是:
for i in $(seq 0 0.1 1)
或者,要打印所有具有相同宽度的数字(通过前置或附加零),使用 -w
。如果这会导致问题,这有助于防止将数字作为“整数”发送。
语法是seq [first [incr]] last
,first
默认为1,incr
默认为1或- 1,取决于last
是大于还是小于first
。有关其他参数,请参阅 seq(1) .
关于bash - 使用非整数的 Shell 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2472191/