我试图保持我的脚本将特定条件评估为真的次数的计数,并希望将其计数写入单独的文件。
以下是我的文件的相关内容。
#!/bin/bash
IFS=$'\n'
status=$(getstatus) #command which returns status
if [[ $status != *"RUNNING"* ]]; then
echo 1 > "runcount.txt"
fi
但是,我没有看到 1 被写入runcount.txt
,控制台上也没有出现任何错误。任何帮助修复这个问题的帮助都会非常有用。
谢谢
答案1
我假设getstatus
你得到一个字符串。你想检查该字符串中的子字符串跑步被包含。
我建议您使用 grep。
#!/bin/bash
getstatus(){ echo Im RUNNING now; }
IFS=$'\n'
status=$(getstatus|grep -c RUNNING)
if [[ $status -gt 0 ]]; then
echo 1 > "runcount.txt"
fi
grep 搜索字符串跑步。该选项-c
仅计算其出现的频率。所以$status
现在是一个 int。如果它出现的次数多于 never,它会将 1 写入您的文本文件。
请删除适合您版本的测试功能getstatus()
。