我有一个 C 程序,它将一个唯一值放入测试文件中(它将是一个两位数)。现在我想运行一个 shell 脚本来读取该数字,然后与我需要的数字进行比较(例如40
)。
比较应该得出“等于”或“大于”的结果。
例如:C 程序的输出写入到名为c.txt
36 的文件中,并且我想将其与数字 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 脚本指南。