我有以下bash脚本使用 -n 检查字符串长度是否为非零,并通过使用 $ {1 ^^}将变量转换为大写字母来等于“ OK” :
#!/bin/bash
myfunction() {
result=0
if [[ -n $1 && ${1^^} = "OK" ]]; then
result=1
fi
echo $result >> /home/[REDACTED]/mylog
}
myfunction "ok"
myfunction "NO"
我使用以下命令将其可执行:
sudo chmod +x ./test
然后我用以下任何一个来称呼它:
bash ./test
./test
文件始终包含预期结果:
1
0
但是,当尝试从cron运行时,文件包含:
0
0
我使用以下命令设置了cron:
sudo crontab -e
这是内容:
* * * * * /home/[REDACTED]/test
我可能忽略了语法或cron环境等明显的东西……有什么建议吗?
谢谢!
答案 0 :(得分:0)
不知道为什么,但是删除文件的第一行并重新键入已解决:
#!/bin/bash
谢谢大家的帮助!