shell脚本if或
Ⅰ linux shell 脚本中if语句的用法 在脚本中使用if if[! -w “$logfile” ] 为什
if[!-w"$logfile"]
thenecho"notwriteable"
echo"notwriteableagain"
fi
注意空格,shell里面有的地方必须有空格,有的地方必须没有空格。[ ]前后都要有空格
Ⅱ shell 脚本 if 的用法小问题
1. 执行shell脚本的时候加上 -x ,执行脚本时会把过程列出来!(有利于我这种新手学习)sh -x shell (./shell 也可以执行shell脚本 但是没有-x参数)2. 传的值的个数大于 read 定义的接受变量的时候会把多余的值都给最后一个变量!!3. expr 对整数型变量进行运算 如果运算结果不是整数小数点后面的全部省去 (乘号要用转意字符'/') .4. 在shell脚本里面 执行一条输出的命令(pgrep mysqld)怎么吧输出的结果作为值赋给变量?web=$(/usr/bin/pgrep mysqld) #可以用 变量=$(命令) 和 变量=`命令` 来吧命令执行的结果赋给变量
if [ $web = ]
then
/etc/init.d/mysql start
fi
5.查看某个命令所在的位置可以用 whereis /which/type 三个命令来查看6.awk命令的应用作用:分段提取! (一行为单位来进行分段)awk -F [分隔符] '条件 动作' /对象例: awk -F : '$3==0 {print $1}' /etc/passwd例: awk -F : '$1 == root {print $1} ' /etc/passwd# -F : 用:分割passwd每行的内容 ($1 指第一段内容 $2 指第二段内容$n 指第n段内容)# ' 匹配 动作' 单引号里面写的是 匹配命令和打印动作 匹配$3==0 第三段等于0 打印{print $1} 打印第一段内容 ($3 == 0 匹配出行 在打印出这些行的第一段内容 )
Ⅲ shell脚本中的if中多条件语句如何写。
可以使用 if-elif-else 语法来写多条件语句。
1、首先要理解if-else的基本用法,if条件+then操作+else操作+fi闭合,书写方法如下:
2、 shell语法中[[ ]]和[ ]的主要区别
(1) [ ] 实际上是bash 中 test 命令的简写。即所有的 [ expr ] 等于 test expr。
对 test 命令来说, 用 -eq 要进行数字比较,而你此时传入字符串,就报错了。
(2) [[ ]] 是内置在shell中的一个命令,它比test强大的多。支持字符串的模式匹配(使用=~操作符时甚至支持shell的正则表达式)。逻辑组合可以不使用test的-a,-o而使用&& ||。
Ⅳ 请教一个shell脚本的问题 “或”怎么表示
if["$a"=="A"-o"$a"=="B"];then
:
fi
或者
if["$a"=="A"]||["$a"=="B"];then
:
fi
Ⅳ Shell 脚本 if 判断后,怎么终止当前脚本但不退出 shell
代码如下:
if list then
do something here
elif list then
do another thing here
else
do something else here
fi
EX1:
复制代码代码如下:
#!/bin/sh
SYSTEM=`uname -s` #获取操作系统类型,我本地是linux
if [ $SYSTEM = "Linux" ] ; then #如果是linux的话打印linux字符串
echo "Linux"
elif [ $SYSTEM = "FreeBSD" ] ; then
echo "FreeBSD"
elif [ $SYSTEM = "Solaris" ] ; then
echo "Solaris"
else
echo "What?"
fi #ifend
基本上和其他脚本语言一样。没有太大区别。不过值得注意的是。[]里面的条件判断。
Ⅵ 在linux下shell脚本中if中用到or怎么写
linux下shell脚本的逻辑的or用运算符 || 表示,if中用到or的写法实例如下:
a=10
b=20
if[[$a-lt 50||$b-gt 50]]
then
echo"返回 true"
else
echo"返回 false"
fi
其中$a-lt100表示a<50 为真;$b-gt 50 表示b>50为假;真 or 假为真。
所以输出结果为:返回 true
(6)shell脚本if或扩展阅读
1、shell中流程控制if基本语法介绍:
if condition
then
command1
command2 ...
commandN
fi
2、shell中的另一个逻辑运算符and (&&)用法实例介绍:
a=10
b=20
if[[$a-lt100&&$b-gt100]]
then
echo"返回 true"
else
echo"返回 false"
fi
输出结果为:返回 false
Ⅶ shell 脚本的if语句报错
#!/bin/bash
read-p"pleseinputonenumber:"k
forain{1,2,3}
do
forbin{1,2,3}
do
forcin{1,2,3}
do
fordin{1,2,3}
do
n=$((a*1000+$b*100+$c*10+$d))#shell中不能直接执行算术运算,要加上$(())
m=$((n%80))
if[$m-eq$k];then#[]方括号与条件要用空格分开
if[$a-eq$c];then
if[$b-eq$d];then
echo$n
fi
fi
fi
done
done
done
done
Ⅷ shell脚本中的if中多条件语句如何写。
可以使用
if-elif-else
语法来写多条件语句。
1、首先要理解if-else的基本用法,if条件+then操作+else操作+fi闭合,书写方法如下:
2、if
-elif-else
语法的具体格式--if单条件多分支,书写方法如下:
3、实例
-
if单条件多分支,这个实例的输出结果是:a
小于
b。
4、实例
-
if多条件多分支,这个实例输出结果是:a
等于
b,或
a小于10。
(8)shell脚本if或扩展阅读
1、shell语法注意事项
shell的if语法和C语言等高级语言非常相似,唯一需要注意的地方就是shell的if语句对空格方面的要求比较严格,如果在需要空格的地方没有打上空格,就会报错。
如if
[
1
==
1
];then
echo
"abc";fi中如果在少写了if后面的空格就报错:
2、
shell语法中[[
]]和[
]的主要区别
(1)
[
]
实际上是bash
中
test
命令的简写。即所有的
[
expr
]
等于
test
expr。
对
test
命令来说,
用
-eq
要进行数字比较,而你此时传入字符串,就报错了。
(2)
[[
]]
是内置在shell中的一个命令,它比test强大的多。支持字符串的模式匹配(使用=~操作符时甚至支持shell的正则表达式)。逻辑组合可以不使用test的-a,-o而使用&&
||。
Ⅸ shell脚本 if判断条件问题
你既然已经知道这个文件叫什么就没有意义了。。。。理论上应该用find命令或者你知道这个目录在系统中的什么位置。
比如
ls | grep aaa
a=`echo $?`
b=`ls | grep aaa`
if [ $a -eq 0 ]
then
tar zcvf Name.tar.gz $b
else
echo 'Don't have this file.'
fi
Ⅹ linux 下shell 脚本 if条件,想写 a=0且b=0 或者c!=0,应该怎么写啊、我写成if [$a -eq 0] && [ $b -eq 0
root@Bizbox:~# a=0
root@Bizbox:~# b=0
root@Bizbox:~# c=5
root@Bizbox:~# if [ $a = 0 -a $b = 0 ]&&[ $c != 0 ]; then
> echo success
> fi
success
注意方括号中前后的空格!