gpt4 book ai didi

linux - if比较中加入 "_"的原因 "if [ "_$str"= "_"]; then ....; fi"

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:14:20 28 4
gpt4 key购买 nike

我在 shell 脚本中多次看到他们在 if 比较中使用 "_",如下所示:

if [ "_$str" = "_" ]; then ....; fi

上面的代码通过比较 if [ "_$str"= "_"] 检查 str 变量是否为空。

为什么不使用 if [ "$str"= ""]?为什么要在两个字符串中添加 "_"

最佳答案

据我所知是历史原因。曾经有(也许在一些晦涩的系统上仍然存在)shell 在处理空字符串(以及可能以破折号开头的字符串)时遇到了麻烦。因此,通过添加前缀来完全防止空字符串(和类似选项的字符串)的简单想法。今天所有常见的 shell 都不再有这些问题。

关于linux - if比较中加入 "_"的原因 "if [ "_$str"= "_"]; then ....; fi",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18850712/

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