shell编程中的if判断语句,为什么总是输出“str1 不等于 str2”?
我看str1和str2是相等的呢?
#!/bin/bash
str1="1"
str2="1"
if [ str1 = str2 ];then
echo "str1 等于 str2"
else
echo "str1 不等于 str2"
fi
shell编程中的if判断语句,为什么总是输出“str1 不等于 str2”?
答案:3 悬赏:30 手机版
解决时间 2021-04-10 21:21
- 提问者网友:niaiwoma
- 2021-04-09 20:40
最佳答案
- 五星知识达人网友:迷人又混蛋
- 2021-04-09 20:54
引用变里前应加上$
修改如下
#!/bin/bash
str1="1"
str2="1"
if [ $str1 = $str2 ];then
echo "str1 等于 str2"
else
echo "str1 不等于 str2"
fi
修改如下
#!/bin/bash
str1="1"
str2="1"
if [ $str1 = $str2 ];then
echo "str1 等于 str2"
else
echo "str1 不等于 str2"
fi
全部回答
- 1楼网友:十鸦
- 2021-04-09 22:54
string比较
[[ $str1 == $str2 ]] # equals [[ $str1 = $str2 ]]
[[ $str1 != $str2 ]]
[[ $str1 > $str2 ]]
[[ $str1 < $str2 ]]
[[ -z $str1 ]] # Returns true if $str1 is an empty string
[[ -n $str1 ]] # Returns true if $str1 is a non-empty string
[[ -z $str1 ]] && [[ -n $str2 ]] # and
[[ -z $str1 ]] || [[ -n $str2 ]] # or
- 2楼网友:一秋
- 2021-04-09 22:21
你好!
字符串的比较问题,
if [ str1 = str2 ]; then
改为:
if [ "$str1" = "$str2" ]; then
变量取值在前面加$,字符串记得加双引号。
仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯