echo 1 > “runco​​unt.txt” 未写入文件

echo 1 > “runco​​unt.txt” 未写入文件

我试图保持我的脚本将特定条件评估为真的次数的计数,并希望将其计数写入单独的文件。

以下是我的文件的相关内容。

#!/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()

相关内容