您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
马哥Linux运维学习笔记-条件判断
发布时间:2018-04-30 10:10:21编辑:雪饮阅读()
条件判断::
-eq:用于测试两个数值是否相等
A=3
B=6
[ $A -eq $b ]
echo $?
最后的结果只要不是0,则代表这两个变量不等。
注意"[ $A -eq $b ]"中括号两个内边界是有空格的
-ne:用于测试两个数值是否不相等,不等为真,相等为假。
-gt:测试一个数是否大于另外一个数,大于为真,否则为假
-lt:测试一个数是否小于另外一个数,小于为真,否则为假
-ge:大于或等于
-le:小于或等于
逻辑与
linux中shell种逻辑或类似于if语句,并且比if语句还简明,如
判断一个用户是否存在,若存在则输出一条信息,否则就什么也不做。下面命令根据逻辑与的理论,如果左边结果为假,那么久不会继续执行了,否则就会执行右边,那么这样以来就不用像if那样麻烦了,除非你需要针对这个语句整体的返回值进行处理其它业务。
id user1 &> /dev/null && echo "hello world"
wc:
wc命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
-l:统计行数
如wc -l ./cs
查看当前目录下cs文件内容的行数。
用变量存储命令执行结果:
用变量可以存储命令执行的结果(非状态)
如
lines=`wc -l ./cs`
然后echo $lines就可以输出获取的当前目录下cs文件内容的行数
注意变量右边的命令需要用符号"`"来括住
cut:
以某种方式按照文件的行进行分割
-d:自定义分隔符,默认为制表符
-f:与-d一起使用,指定显示哪个区域(字段)
如:
echo $lines | cut -d ' ' -f 1
以一个空格来分隔$lines的输出,只显示第一个字段的输出
passwd --stdin
passwd命令的stdin选项用于从标准输入管道读入新密码
如
echo 'xy22080702' | passwd --stdin root
id -u
id命令的-u参数可以直接只看用户的用户id,而不像纯粹的id命令一次性包含该用户很多信息
如
id -u root
用户id为0的表示该用户为管理员
if语句
if中的判断条件与then若是在一行,则判断条件后一定要加分号,then是可以单独一行的。
if中的判断条件是判断条件的执行状态的判断而不是判断条件的执行结果的判断
单分支:
if 判断条件; then
语句1
语句2
语句。。。
fi
双分支:
if 判断条件; then
语句1
语句2
语句。。。
else
语句1
语句2
语句。。。
fi
命令执行的正常结果与命令执行的状态结果的获取:
如果想要获取命令执行的状态结果,则就是命令本身的执行
如果需要获取命令执行的正常结果,则需要将命令用反引号括起来
head -1
head的-n参数用来指定输出行数,例如
grep "bash$" /etc/passwd | head -1
这里匹配了/etc/passwd中的用户信息,逐行扫描,如果某行中以bash结尾,则输出该行并将所有要输出的行通过管道传递给head命令,head命令只让最终只显示传递过来的这些行中的第一行。
id -g
id的-g参数用于直接查看某个用户的组id
如 id -g root
date
date命令用于获取时间
格式化参数:%s获取秒数(从1970年至今)
如:
date +%s
HISTSIZE
该变量是一个环境变量,echo该变量可以查看当前命令历史记录最大长度配置
如
echo $HISTSIZE
关键字词:linux,条件判断