如果bash中的语句没有执行

时间:2013-08-04 11:03:30

标签: bash if-statement statements

我是初学者是bash,我真的需要一些帮助。脚本的条件部分由于某种原因没有执行。 这是我的代码

#!/bin/bash
#Checking Os
os=$(lsb_release -si)
echo $os
if [ $os == "CentOs" ]; then
echo 'success'
fi

现在部分直到echo $ os正常工作并且

  

CENTOS

但'成功'没有得到输出:(

知道如果部分没有被执行的原因。语法有什么问题。我没有任何错误

2 个答案:

答案 0 :(得分:1)

希望这会有所帮助:

#!/bin/bash
#Checking Os
os=$(lsb_release -si)

# !quote variables when passing them to commands like echo!
echo "$os"

# A space between ] and ; Quote "$os". Note: = instead of == is OK as well.
# Note that it's not CentOs, it's CentOS
if [ "$os" == "CentOS" ] ; then
  echo 'success'
fi

最终参考:Advanced Bash Scripting Guide

答案 1 :(得分:1)

Linux区分大小写。在我的CentOS安装上运行“lsb_release -a”导致“CentOS” - 请注意尾随的“S”是大写的。更改您的代码以测试正确大写的字符串,它应该可以工作。