我是 bash 新手(冒充 Linux 系统管理员的 PHP 开发人员)。
我在 bash 脚本中有以下 if 块:
if [ "$DAY"=="Sunday" ];
then
cp /Drive_D/videos_bu/daily/$TODAY /Drive_D/videos_bu/weekly/$WEEK
printf "\n==========\nWeekly Backup - $TODAY SUCCESS!\n==========\n\n" >> $LOG
fi
Run Code Online (Sandbox Code Playgroud)
即使测试命令为假,printf 行也会执行。谁能告诉我为什么?
TIA
罗杰
由于您没有运算符,并且操作数以空格分隔,因此解释器将整个项目假定为一个字符串,这与空字符串不同,并转到then分支。将您的条件修改为:
if [ "$DAY" == "Sunday" ];
Run Code Online (Sandbox Code Playgroud)
以获得预期的结果。这是一个有用的帖子。
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |