相关疑难解决方法(0)

shell 比较中的单等号和双等号 (=) 有什么区别?

为了比较里面的字符串,if我们需要使用双方括号。有些书说比较可以通过=. 但它也适用于==

#!/bin/bash
a="hello"
b="world"
if [[ $a == $b ]];then
    echo "equal"
fi
Run Code Online (Sandbox Code Playgroud)

比较===比较有区别吗?

bash shell-script

52
推荐指数
3
解决办法
3万
查看次数

unix 测试何时在测试命令中使用 eq vs = vs ==?

我什么时候应该使用-eqvs =vs==

例如

[[ $num -eq 0 ]]

[[ $num = 'zzz' ]]
Run Code Online (Sandbox Code Playgroud)

我观察到对数字和字符串使用-eq(和-ne等)的模式=。有没有原因,我应该什么时候使用==

shell test

26
推荐指数
1
解决办法
2万
查看次数

Linux中别名命令的脚本在哪里?

我想向 bash 别名脚本添加一个参数,以便我可以运行

alias -p l='ls -l'
Run Code Online (Sandbox Code Playgroud)

它会永久添加到我的 .zshrc 中。但我无法找到别名的 shell 脚本。

我试过whereis alias,但没有运气。甚至man alias显示别名没有条目。

我看了看,/usr/bin, /usr/share/local/bin但没有运气。谁能指出位置?

编辑:我还尝试通过以下方式查看所有可能的路径 ls $(echo $PATH| tr ':' '\n') | grep alias

bash alias

11
推荐指数
1
解决办法
1170
查看次数

如何用双引号比较bash变量

我有这个代码

STATUS=`echo "test"`


if [ $STATUS == "test" ]; then
   exit 0
fi
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一切,但我无法做到这一点。

我试过

"$STATUS" == "test"
eval $STATUS == "test"
${STATUS[@]} == "test"
Run Code Online (Sandbox Code Playgroud)

唯一有效的是

$STATUS == \"test\"
Run Code Online (Sandbox Code Playgroud)

linux bash ubuntu

2
推荐指数
1
解决办法
6933
查看次数

标签 统计

bash ×3

alias ×1

linux ×1

shell ×1

shell-script ×1

test ×1

ubuntu ×1