㈠ linux 下shell中if的参数
文件表达式
-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
整数变量表达式
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
字符串变量表达式
If [ b ] 如果string1等于string2,则为真
字符串允许使用赋值号做等号
if [ string2 ] 如果string1不等于string2,则为真
if [ -n string ] 如果string 为空,则为真
if [ $sting ] 如果string 非空,返回0 (和-n类似)
if [ ! 表达式 ]
if [ ! -d num
if [ 表达式1 –a 表达式2 ]
if [ 表达式1 –o 表达式2 ]
㈡ 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
希望能够帮助到你,你的好评是我前进的动力,谢谢!
㈢ linux里面if [ “result” != “ “ ]判断作用是什么
题主你好,
先说作用再分析.
作用: 判断 != 两边的字符串是否不相等, 即判断"result"还" "是否不相等.
但是光说作用了,其实对于实际使用还是没有太大帮助.
-----
分析:
截图中红框框选的就是本题中用到的!=,用来判断两个字符串是否不相等.
=====
希望可以帮到题主, 欢迎追问.
㈣ Linux中if-else条件判断语句
在shell中的条件判断语句格式为:
其中elif和else不是必须的,如果只需判断一次,那么if...fi即可。值得注意的是if后面中括号[]中的语句[的后面和]的前面必须要有空格。
下面通过判断大小和文件是否存在看一下判断语句的用法:
-gt 大于 (greater than);
-lt 小于(less than);
-eq 等于(equal);
-ne 不等于(not equal);
-ge 大于等于(greater equal);
-le 小于等于(less equal)。
㈤ linux shell编程 if判断语句的判定条件
#!/bin/bash
a=$(grep '>' file | wc -l )
if [ $a = 1 ];then
要执行的语句
fi
㈥ linux中 if [ $a = $b ]这条指令代表什么意思
准确来说是判断变量的值相等
shell脚本语言不是像C那样的强类型语言(数据类型分得很细), 基本上值是以字符串存储的,也支持整数
$a=$b 可以认为是判断 字符串值相等
㈦ 每天三分钟搞定linux shell脚本10 字符串相关的if判断
字符串比较包括
注意 :这里的符号要 转义 ,否则变成了重定向了。
运行结果:
注意 :上面的 等号左右两侧 , 中括号内侧 一定要有空格
运行结果:
以上的例子,说明 小写字母排在字典的后面 (类似于ascii的大小)。
sort 可以对字符串排序,sort 命令会把小写字母放在前面 。
运行结果:
注意上面的 中括号内侧 一定要有空格。
注意 :有时候想在字符串比较的时候使用 正则表达式 ,可以使用 双方括号 ,如:
运行如下:
注意:上面的 双等号左右两侧,中括号内侧 一定要有空格
㈧ 关于linux if多个判断问题
1 = 1 -a 2 = 2 -a $i = 2
表达式中,=也要和数值空格分开,不然会把 1=1这种当成一个字符串处理
㈨ linux中“if [ -f $home/$1]的”含义是什么
含义:
1、if 条件判断关键字。
2、[ ] 语法要求。
3、-f 文件比较运算符,如果 filename为常规文件,则为真 。
4、$home 取变量的值,如果.sh文件里面没有该就是则会取用户系统变量!你可以在终端中执行一下 echo $home 看看是什么路径。
5、$1 取输入的第一个参数.例: sh xxx.sh 111 那么此时 $1的值就是 111。
㈩ linux if判断是不是数字
## 方法1
a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] && echo string a is numbers
第一个-n是shell的测试标志,对后面的串"`sed -n '/^[0-9][0-9]*$/p'`" 进行测试,如果非空,则结果为真。
sed默认会显示所有输入行信息的,sed 的“-n”选项是让sed不要显示,而只显示我们所需要的内容:即后面的表达式所匹配的行,这是通过表达式中加入“p”命令来实现的。
/^[0-9][0-9]*$/他的含义是匹配至少由一位数字构成的行
## 方法2, 可以,不过不是bash实现的,是使用了grep的正则
#if grep '^[[:digit:]]*$' <<< "$1";then
# echo "$1 is number."
#else
# echo 'no.'
#fi
## 方法3
#if [ "$1" -gt 0 ] 2>/dev/null ;then
# echo "$1 is number."
#else
# echo 'no.'
#fi
## 方法4,case
#case "$1" in
# [1-9][0-9]*)
# echo "$1 is number."
# ;;
# *)
# ;;
#esac
## 方法5,awk
#echo $1| awk '{print($0~/^[-]?([0-9])+[.]?([0-9])+$/)?"number":"string"}'
## 方法5,awk
#if [ -n "$(echo $1| sed -n "/^[0-9]\+$/p")" ];then
# echo "$1 is number."
#else
# echo 'no.'
#fi
## 方法6,expr
expr $1 "+" 10 &> /dev/null
if [ $? -eq 0 ];then
echo "$1 is number"
else
echo "$1 not number"
fi