相关疑难解决方法(0)

如何检查Bash中是否设置了变量?

我如何知道Bash中是否设置了变量?

例如,如何检查用户是否将第一个参数提供给函数?

function a {
    # if $1 is set ?
}
Run Code Online (Sandbox Code Playgroud)

variables bash shell

1417
推荐指数
23
解决办法
119万
查看次数

最奇怪的语言特征

在您看来,您遇到的最令人惊讶,奇怪,奇怪或真正的"WTF"语言功能是什么?

每个答案只能有一个功能.

language-agnostic programming-languages

975
推荐指数
176
解决办法
48万
查看次数

如何在shell脚本中声明和使用布尔变量?

我尝试使用以下语法在shell脚本中声明一个布尔变量:

variable=$false

variable=$true
Run Code Online (Sandbox Code Playgroud)

它是否正确?另外,如果我想更新该变量,我会使用相同的语法吗?最后,使用布尔变量作为正确的表达式是以下语法:

if [ $variable ]

if [ !$variable ]
Run Code Online (Sandbox Code Playgroud)

bash shell scripting boolean sh

884
推荐指数
14
解决办法
84万
查看次数

如何在Shell Scripting中执行逻辑OR操作

我正在尝试进行简单的条件检查,但它似乎不起作用.

如果$#等于0或大于1那么打个招呼.

我尝试了以下语法但没有成功:

if [ "$#" == 0 -o "$#" > 1 ] ; then
 echo "hello"
fi

if [ "$#" == 0 ] || [ "$#" > 1 ] ; then
 echo "hello"
fi
Run Code Online (Sandbox Code Playgroud)

unix bash if-statement sh

554
推荐指数
7
解决办法
91万
查看次数

双方括号[[]]比Bash中的单方括号[]更好吗?

最近在一次代码审查中,一位同事声称该[[ ]]构造比[ ]在类似的构造中更受欢迎

if [ "`id -nu`" = "$someuser" ] ; then 
     echo "I love you madly, $someuser"
fi
Run Code Online (Sandbox Code Playgroud)

他无法提供理由.有吗?

syntax bash if-statement

514
推荐指数
8
解决办法
20万
查看次数

254
推荐指数
8
解决办法
38万
查看次数

如何检查环境变量是否存在并获得其值?

我正在写一个shell脚本.在这个shell脚本中,我有一个变量,它接受默认值或环境变量的值.但是,环境变量不必存在.

例如,假设在运行脚本之前,我执行以下操作:

export DEPLOY_ENV=dev
Run Code Online (Sandbox Code Playgroud)

如何告诉脚本搜索此环境变量,并将其值存储在脚本内的变量中.此外,如何告诉脚本如果此环境变量不存在,请存储默认变量?

bash shell

155
推荐指数
5
解决办法
20万
查看次数

Bash中单方括号和双方括号之间的区别

我正在阅读bash示例,if但有些示例是用单个方括号编写的:

if [ -f $param ]
then
  #...
fi
Run Code Online (Sandbox Code Playgroud)

其他双方括号:

if [[ $? -ne 0 ]]
then
    start looking for errors in yourlog
fi
Run Code Online (Sandbox Code Playgroud)

有什么不同?

bash if-statement

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

Bash中的空字符串和空字符串比较

我没有为$ pass_tc11设置任何值; 所以它在回显时返回null.如何在if条款中进行比较?

这是我的代码.我不希望打印"嗨"......

-bash-3.00$ echo $pass_tc11

-bash-3.00$ if [ "pass_tc11" != "" ]; then
> echo "hi"
> fi
hi
-bash-3.00$
Run Code Online (Sandbox Code Playgroud)

bash shell

33
推荐指数
1
解决办法
15万
查看次数

使用函数测试未设置的Bash变量

一个简单的Bash变量测试:

${varName:?    "${varName} is not defined"}
Run Code Online (Sandbox Code Playgroud)

我想把它放在一个函数中来重复使用它.怎么样?

以下失败

#
# Test a variable exists
tvar(){
 val=${1:?    "${1}    must be defined, preferably in $basedir"}
 if [ -z ${val}  ]
     then 
     echo Zero length value 
 else
     echo ${1} exists, value ${1}
 fi
}
Run Code Online (Sandbox Code Playgroud)

即如果测试失败,我需要退出.

variables bash undefined

28
推荐指数
4
解决办法
5万
查看次数