gpt4 book ai didi

Linux Shell if-statements 关于分析字符串是否相等

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:46:42 26 4
gpt4 key购买 nike

我是Shell编程的初学者,当我执行一个关于if语句的程序时,我很困惑代码如下

echo -n "word 1:"
read word1
echo -n "word 2:"
read word2
if test "$word1"="$word2"
then echo "Match"
fi

我发现无论我是否输入相同的字符串,它总是打印“Match”

这就是我想问的,谢谢!

最佳答案

=两边添加空格:

如果测试 "$word1"= "$word2"

没有它们,您将在表达式 "$word1"="$word2" 上使用 test 来测试它是否为空。

傻,我知道。

来自 man test :

-n STRING

the length of STRING is nonzero

STRING

equivalent to -n STRING

完全清楚:首先,$word1$word2 被替换为变量的内容,say helloworld 是原始的,所以你得到字符串 hello=world。所以实际上,无论您在这些变量中放入什么,您都会得到一个非空字符串(因为 =),因此测试总是会通过。

关于Linux Shell if-statements 关于分析字符串是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36312779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com