Shell 脚本从文件读取值并将其与另一个文件进行比较

Shell 脚本从文件读取值并将其与另一个文件进行比较

我有一个 C 程序,它将一个唯一值放入测试文件中(它将是一个两位数)。现在我想运行一个 shell 脚本来读取该数字,然后与我需要的数字进行比较(例如40)。

比较应该得出“等于”或“大于”的结果。

例如:C 程序的输出写入到名为c.txt36 的文件中,并且我想将其与数字 40 进行比较。

所以我希望比较是“等于”或“大于”,然后回显值“等于”或“大于”。

答案1

这很基础,但除非您指定更多信息,否则我不知道还能添加什么。

只需从文件中读取第一行,将其保存为变量,然后使用简单的比较(例如-gt(大于)或-eq(等于))即可获得所需的输出。当然,您可以在此处切换$val$comp,具体取决于您真的想。

#!/usr/bin/env bash
val=$(< c.txt)
comp=$1
if [[ "$val" -gt "$comp" ]]
  then echo "greater"
elif [[ "$val" -eq "$comp" ]]
  then echo "equal"
fi

c.txt是您的输入文件,假设它只包含一行。您比较的值将作为参数读取,因此您应该按如下方式调用此脚本:

./script.sh 40

无论如何,我强烈建议阅读高级 Bash 脚本指南

相关内容