&引用;bash:未找到命令";在bash中使用while循环执行算术运算

&引用;bash:未找到命令";在bash中使用while循环执行算术运算,bash,Bash,我试图在bash中使用while循环读取文件“certtemp1.txt”的每一行。文件“certtemp1.txt”包含一些数字,例如下面的数字 5000 6000 7000 我试图从8000中逐个扣除文件中的每个数字以获得输出。下面是我的脚本和错误 $currentEpochTime=8000 while read i; do $(( i - currentEpochTime )): done < certtemp1.txt 我试着看了很多文章,但没有解决我在输出中的错误。你只

我试图在bash中使用while循环读取文件“certtemp1.txt”的每一行。文件“certtemp1.txt”包含一些数字,例如下面的数字

5000
6000
7000
我试图从8000中逐个扣除文件中的每个数字以获得输出。下面是我的脚本和错误

$currentEpochTime=8000

while read i; do $(( i -  currentEpochTime )): done < certtemp1.txt

我试着看了很多文章,但没有解决我在输出中的错误。你只需要打印这些数字

目前的情况是,脚本确实遍历了所有文件,并从每行的数字中减去
8000
。但它不会打印结果。相反,它执行结果

您所需要做的就是添加一个
echo

while read i; do echo $(( i -  currentEpochTime )); done < certtemp1.txt
阅读时
;do echo$((i-currentEpochTime));完成

你应该做这项工作。

你只需要打印这些数字

目前的情况是,脚本确实遍历了所有文件,并从每行的数字中减去
8000
。但它不会打印结果。相反,它执行结果

您所需要做的就是添加一个
echo

while read i; do echo $(( i -  currentEpochTime )); done < certtemp1.txt
阅读时
;do echo$((i-currentEpochTime));完成
应该做这项工作。

在你的美元((…)前面加上“echo”。您的语法执行算术,然后尝试执行它

#!/bin/bash

currentEpochTime=8000

while read i
do
    echo $(( i -  currentEpochTime ))
done < certtemp1.txt
在你的美元((…)前面加上“echo”。您的语法执行算术,然后尝试执行它

#!/bin/bash

currentEpochTime=8000

while read i
do
    echo $(( i -  currentEpochTime ))
done < certtemp1.txt

我会使用
awk
来做这件事,比如
awk'{print$0-8000}'certtemp1.txt
。我会使用
awk
来做这件事,比如
awk'{print$0-8000}'certtemp1.txt
。谢谢米希尔。只是添加回音就行了。非常感谢您的及时回复谢谢米希尔。只是添加回音就行了。非常感谢您的及时回复谢谢@Richard Jessop。将
echo
放在命令开始工作之前@米希尔在早些时候也提出了同样的建议,谢谢理查德·杰索普。将
echo
放在命令开始工作之前@米希尔早些时候也提出了同样的建议