bash - 使用非整数的 Shell 循环?

标签 bash scripting loops sh

我写了一个 .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]] lastfirst默认为1,incr默认为1或- 1,取决于last是大于还是小于first。有关其他参数,请参阅 seq(1) .

关于bash - 使用非整数的 Shell 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2472191/

相关文章:

bash - 为文本文件的每一行运行命令 (Bash)

c# - 不断检查服务器是否正在使用C#监听给定的端口

bash - 如何配置对话框 bash 的取消按钮?

bash - 缩短 Bash 输出命令

bash - awk:从完整路径中提取文件名

r - 在四个数据框列上应用两个不同的公式

python-3.x - 如何测试具有多个输入调用的循环?

linux - 盲目地重命名文件 - linux

python - 将 find 输出作为参数传递时出现 "Argument list too long"错误

shell - 使用 mysqldump 时脚本抛出意外运算符