相关疑难解决方法(0)

Bash布尔测试

我试图运行一个代码块,如果一个标志设置为true而另一个标志设置为false.即

var1=true
var2=false
if [[ $var1 && ! $var2 ]]; then var2="something"; fi
Run Code Online (Sandbox Code Playgroud)

由于这没有评估我预期的方式,我写了几个其他的测试用例,我很难理解他们是如何被评估的.

aa=true 
bb=false
cc="python"
if [[ "$aa" ]]; then echo "Test0" ; fi
if [[ "$bb" ]]; then echo "Test0.1" ; fi
if [[ !"$aa" ]]; then echo "Test0.2" ; fi
if [[ ! "$aa" ]]; then echo "Test0.3" ; fi
if [[ "$aa" && ! "$bb" ]]; then echo "Test1" ; fi
if [[ "$aa" && ! "$aa" ]]; then echo "Test2" ; fi
if [[ …
Run Code Online (Sandbox Code Playgroud)

bash

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

bash:非法号码

当我运行这个bash脚本时:

if [ [$EUID -ne 0] ]; then
   echo "This script must be run as root" 1>&2 
   exit 1
else 

printf " whathever "

exit 0 
fi
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

./myScript: 15: [: Illegal number: [
Run Code Online (Sandbox Code Playgroud)

你看到有什么问题吗?

bash shell

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

标签 统计

bash ×2

shell ×1