我有一个小脚本,后来变成了Systemd Service。 如果我将脚本作为服务运行,则简单的if语句将始终返回false,如果我以用户身份或替代方式调用脚本手册,则该语句为true
#!/bin/bash
if [ "test" == "test"]
then
echo "if ist true" | logger 2>&1
else
echo "if ist false" | logger 2>&1
fi
实际上,我尝试查找为子字符串,但是为了简单起见,我现在正在运行此语句,但存在相同的问题...
答案 0 :(得分:0)
好,我使用grep清除了问题。这很奇怪,但是如果我将脚本作为服务启动时,我尝试过的所有语法都根本不起作用……但是无论如何,使用grep一切都很容易:
file=myentirestring
if echo "$file" | grep -q "entire"; then
echo "true"
else
echo "false"
fi