为了比较里面的字符串,if
我们需要使用双方括号。有些书说比较可以通过=
. 但它也适用于==
。
#!/bin/bash
a="hello"
b="world"
if [[ $a == $b ]];then
echo "equal"
fi
Run Code Online (Sandbox Code Playgroud)
比较=
和==
比较有区别吗?
我什么时候应该使用-eq
vs =
vs==
例如
[[ $num -eq 0 ]]
[[ $num = 'zzz' ]]
Run Code Online (Sandbox Code Playgroud)
我观察到对数字和字符串使用-eq
(和-ne
等)的模式=
。有没有原因,我应该什么时候使用==
我想向 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
我有这个代码
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)