相关疑难解决方法(0)

如何在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万
查看次数

在bash`if [..]`语句中检查命令是否成功

我正在尝试自动化我们的应用程序备份.过程的一部分是检查的退出状态egrep中的if语句:

if [ ! -f /opt/apps/SiteScope_backup/sitescope_configuration.zip ] ||
   [ egrep -i -q "error|warning|fatal|missing|critical" "$File" ]
then 
  echo "testing"
fi
Run Code Online (Sandbox Code Playgroud)

我希望它输出,testing因为文件存在并egrep返回成功,但我得到一个错误:

-bash: [: too many arguments
Run Code Online (Sandbox Code Playgroud)

我尝试了各种语法 - 附加括号,引号等但错误仍然存​​在.

请帮助我理解我哪里出错了.

bash if-statement

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

Bash脚本 - if块中的布尔值?

我尝试了这篇SO帖子中的代码 - 如何评估bash中if块中的布尔变量?它不起作用.看起来BASH中没有布尔值.有没有完美的解决方法让我在BASH中设置和检查布尔值?

我的代码 -

#!/bin/bash
flag=true
if [ $flag ]
echo 'True'
#flag=false
#echo 'Now changed to false' 
fi
Run Code Online (Sandbox Code Playgroud)

即使第2行中的flag = false,输出仍为True.为什么?

unix linux bash boolean

0
推荐指数
1
解决办法
9947
查看次数

标签 统计

bash ×3

boolean ×2

if-statement ×1

linux ×1

scripting ×1

sh ×1

shell ×1

unix ×1