Linux bash/sh/shell编程中的if语句应该怎么写
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/13 22:39:48
Linux bash/sh/shell编程中的if语句应该怎么写
我写了如下的语句:
### start
line="abc"
$REGEXP="^[#]"
if [[ $line $REGEXP ] && [ $line = '' ]]; then
## do something
fi
### end
执行时不正确,抛出语法错误
请问这个语句为什么不正确?应该怎么在if语句中加入两个判断条件?
我写了如下的语句:
### start
line="abc"
$REGEXP="^[#]"
if [[ $line $REGEXP ] && [ $line = '' ]]; then
## do something
fi
### end
执行时不正确,抛出语法错误
请问这个语句为什么不正确?应该怎么在if语句中加入两个判断条件?
line="#abcmatch BCD"
REGEXP="^[#]"
# 变量赋值不需要前缀$
if [[ $line =~ $REGEXP ]] && [[ $line != '' ]]; then
#粗心 [[ ]] 要配对使用 你写成了 [[ ] [ ]]
true #shell 不能使用空的if 结构,至少要有一个命令. 可以使用true命令 .
echo yes
else
echo NO
fi
### end
另外Bash 不支持完全的正则表达式.[[ “$line” =~ “$REGEXP” ]] 不能达到你想要的效果.
需要使用echo "$string"| grep -qP /regexp/
Zsh 支持完整的正则表达式, [[ “$line” =~ “$REGEXP” ]] 能达到你想要的效果.
REGEXP="^[#]"
# 变量赋值不需要前缀$
if [[ $line =~ $REGEXP ]] && [[ $line != '' ]]; then
#粗心 [[ ]] 要配对使用 你写成了 [[ ] [ ]]
true #shell 不能使用空的if 结构,至少要有一个命令. 可以使用true命令 .
echo yes
else
echo NO
fi
### end
另外Bash 不支持完全的正则表达式.[[ “$line” =~ “$REGEXP” ]] 不能达到你想要的效果.
需要使用echo "$string"| grep -qP /regexp/
Zsh 支持完整的正则表达式, [[ “$line” =~ “$REGEXP” ]] 能达到你想要的效果.
Linux红帽shell编程,在bin目录解析器用到sh和bash,显示脚本用到sh+ 文件名.那bash的咋看 .
linux shell的if语句
linux shell if语句求解释
linux中的shell是什么意思?
关于linux shell 循环语句的问题
bash shell中if [-f $2]和echo -e是什么意思
Linux下的Shell编程变量是怎样定义的...
linux下shell编程,关于sed用法的问题,
shell脚本 /bin/bash if [[ $1=="D" ]]; then echo D else echo M
Linux脚本,#/bin/bash if [ $1 = cat ];then echo "dog"; elif [ $
大神给看看if语句应该怎么写
/bin/sed -f 对于/bin/sh中的shell怎么调试和打断点?