导航:首页 > 程序命令 > shell基本命令if

shell基本命令if

发布时间:2022-08-31 20:21:36

A. linux shell的if语句

echo "你继续吗?Y or N"
read ANSWER
if [ “$ANSWER” = “Y” -o “$ANSWER” = “y” ] ; then
echo "你选择了$ANSWER";
elif [ “$ANSWER” = “N” -o “$ANSWER” = “n” ] ; then
echo "你选择了$ANSWER";
else
echo "输入错误"
exit
fi
-----你试试

B. 如何使用shell脚本中的if语句检查条件

[root@localhost ~]# cat c
a=1
if [ $a -eq 1 ];then
echo a 等于1
else
echo a 不等于1
fi
[root@localhost ~]# sh c
a 等于1

C. shell中查看if条件的帮助手册,应执行哪条命令

可以使用true命令。
在shell中条件语句是“if-then”,if语句后面是一个命令执行结束的退出状态码是0,则执行then部分的命令,否则then不执行;fi是if的结束标志。

D. 关于shell 中的if 逻辑表达式。

if expression
then
commands
fi
这是if其中的一种结构,在结构中就能看到if 后面接的是什么。
这个后边描述的是你想要干什么,根据你的需要去描述出来然后进行下一步的操作
这个并不是固定的。你还是看书吧。。书上写的比这里回答的人描述的详细。
if和then的语法 如果if和then处在同一行 中间需要用;隔开,如果不在同一行可以不用写
if grep "file " /tmp/tmp.txt ;then 这属于语法格式,这个是固定的。其实一行内多个命令之间都需要用;号隔开。如果不在同一行就不用考虑。就像你在终端输入命令一样,一行一个命令。一行多跳命令需要用;隔开。。也是这个道理。至于!取反。。!属于操作符 举个例子来说 $A = $B 如果结果匹配 执行 then 不匹配执行else $A != $B !=就是不等 !进行取反操作 如果判断结果匹配 执行then 不匹配执行eslse
哇。。说了好多废话。。我还是强烈建议你仔细看书。。
______________________________________________
1)我还是建议你看书,而且是看对书,我说的这些都是书上有的。
关于[]你不应该理解成test语法才需要 test就是[] []就是test
抛开if不讲 test也可以单独使用 比如test xxx 写成 [xxxx]意思是一样的。
至于里边加的参数,就涉及到你的需求 要干什么 要判断字串?整数?表达式?文件?
跟用test 还是用 []并没有太大关系 举个例子 test $? -le 0 和 [ $? -le 0] 意思是一样的

2)要解释if ! grep "file" /tmp/tmp.txt ; then 首先你要明白系统所设置的操作符。比如= 比如+、-、*、/、这些都是操作符,至于! 属于位操作符, 我下班了。有空聊

E. Linux shell编程,这个命令if [ "$pid" ]; then...。什么时候if条件判断为true和false呢

只有当pid为空时,if条件才会为false。如果pid是程序获取的进程号,那么就是当进程存在时(pid不为空)为true,当进程不存在时(pid为空)为false。
1、pid=""
if条件为false,如下面输出2:
pid=""
if["$pid"]
then
echo"1"
else
echo"2"
fi
2、pid=任何非空值
if条件为true,如下面输出1:
pid="0"
if["$pid"]
then
echo"1"
else
echo"2"
fi
希望能够帮助到你,你的好评是我前进的动力,谢谢!

F. shell if函数中几种条件判断的区别

1、整数比较:
[plain] view plain
-eq 等于,如:if [ "$a" -eq "$b" ] 或 if [ $a -eq $b ]
-ne 不等于,如:if [ "$a" -ne "$b" ]
-gt 大于,如:if [ "$a" -gt "$b" ]
-ge 大于等于,如:if [ "$a" -ge "$b" ]
-lt 小于,如:if [ "$a" -lt "$b" ]
-le 小于等于,如:if [ "$a" -le "$b" ]
== 等于,如:if if (("$a" == "$b"))
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
> 大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))
特别说明的是(())字符和括号之间不需要留空格,但[[ ]],[]要求比较严格,需要留空格。
2、字符串比较,上面的-eq,-nq等公式只适用于数字比较,不适用于字符比较

[plain] view plain
= 等于,如:if [ "$a" = "$b" ]
== 等于,如:if [ "$a" == "$b" ],与=等价

[[ $a == z* ]] # 如果$a以"z"开头(模式匹配)那么将为true
[[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true
[ $a == z* ] # File globbing 和word splitting将会发生
[ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true

3、括号之间的区别:

[[ ]],[]对括号内变量要求严格且且敏感,但(())则相对宽松一些

[plain] view plain
1、if [[ $a == $b ]] 和 if [[ $a == $b ]] 等价
但if [[ $a == $b ]] 和if [[ a == b ]] 不等价
2、if (($a == $b)) 和 if (($a = $b))等价
if (($a == $b)) 和 if ((a == b)) 等价

4、多条件判断:

&&和||适用于[[ ]]和(),-a和-o适用于[]中

举例如下:

[plain] view plain
if ((i == 1)) 和 if [ "$i" == 1 ]等价

if [[ "$i" = 1 && "$j" = 2 ]] 和 if ((i = 1)) || ((j = 2))

5、其它说明:

!= 不等于,如:if [ "$a" != "$b" ]

这个操作符将在[[]]结构中使用模式匹配.
< 小于,在ASCII字母顺序下.如:
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
注意:在[]结构中"<"需要被转义.
> 大于,在ASCII字母顺序下.如:
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]

G. Linux bash/sh/shell编程中的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”
]]
能达到你想要的效果。

H. shell的if命令如何判断一个文件中所含指定字符串

1、字符串判断

1)str1 = str2当两个串有相同内容、长度时为真 ;

2)str1 != str2 当串str1和str2不等时为真 ;

3)-n str1 当串的长度大于0时为真(串非空) ;

4)-z str1 当串的长度为0时为真(空串) ;

5)str1 当串str1为非空时为真。

2、数字的判断

1)int1 -eq int2两数相等为真;

2)int1 -ne int2两数不等为真;

3)int1 -gt int2int1大于int2为真;

4)int1 -ge int2int1大于等于int2为真;

5)int1 -lt int2int1小于int2为真;

6)int1 -le int2int1小于等于int2为真。

3、文件的判断

1)-r file用户可读为真;

2)-w file用户可写为真;

3)-x file用户可执行为真;

4)-f file文件为正规文件为真;

5)-d file文件为目录为真;

6)-c file文件为字符特殊文件为真;

7)-b file文件为块特殊文件为真;

8)-s file文件大小非0时为真;

9)-t file当文件描述符(默认为1)指定的设备为终端时为真。

I. 求linux shell 中if的写法

主要是格式问题:
if [[ $jg == false ]]; then
echo -e "\033[41;37m $sj $jg \033[5;m"
elif [[ $jg != false ]]; then
echo -e "\033[42;37m $sj $jg \033[1;m"
fi
注意中间的空格,假如是字符串匹配,最好加上引号。

J. liunx 下的shell语句 if [ ! -d /$1/$2/$3/ ]是什么意思

liunx 下的shell语句 if [ ! -d /$1/$2/$3/ ]这是判断某文件夹是否存在,$1, $2, $3都是变量,操作方法如下:

1、判断文件的基本格式。[ 操作符 文件或目录 ]。

阅读全文

与shell基本命令if相关的资料

热点内容
浪潮服务器如何做系统 浏览:111
冒险岛img格式加密 浏览:596
我的世界手游如何复制命令 浏览:659
天刀自动弹琴脚本源码 浏览:968
打开其它app微信怎么收不到 浏览:447
安卓游戏耳机怎么戴 浏览:18
不越狱怎么去除app广告 浏览:178
ipadminipdf阅读 浏览:506
文件夹无限制压缩会不会降低内存 浏览:412
荣耀怎样创建文件夹 浏览:631
如何用本机登陆远程服务器地址 浏览:682
黄小鸭解压文具盒 浏览:672
女程序员的转行方法 浏览:884
东风启辰车联网安装文件夹 浏览:526
华为怎么设置app时间锁 浏览:662
后宫app视频怎么下载 浏览:527
如何把图片转换从PDF格式 浏览:261
重写和重载的区别java 浏览:236
expressvpnandroid 浏览:86
储存卡被加密怎么解除 浏览:171