条件判断2
练习
- 给定一个用户,判断UID和GID是否一样
一样显示为"good guy",否则"bad gay"
先复习一下删除
$ ls
12.txt bash.sh bash.sh.save if.sh if.sh.save pra.sh pra.sh.save readme.txt test.sh var.sh
$ rm ./*sh
$ ls
12.txt bash.sh.save if.sh.save pra.sh.save readme.txt
$ rm ./*\.save
$ ls
12.txt readme.txt
用ID命令
#!/bin/bash
AUID=`id -u yli`
AGID=`id -g yli`
if [ $AUID -eq $AGID ]; then
echo "good guy"
else
echo "bad guy"
fi
$ ./parc2.sh
bad guy
不用ID命令, (exit:退出脚本)
#!/bin/bash
#/etc/passwd 第3个为UID,第四个为GIU
username=yli #没有这个用户就退出
if ! grep "\b$username" /etc/passwd &> /dev/null; then
echo "User $username not found"
exit 1
fi
AUID=`grep "\b$username" /etc/passwd | cut -d: -f3` #注意
AGID=`grep "\b$username" /etc/passwd | cut -d: -f4` #注意
if [ $AUID -eq $AGID ]; then
echo "good guy"
else
echo "bad guy"
fi
$ ./parc2.sh
bad guy
shell算数运算
let
$ a=3
$ b=6
$ let c=$a+$b
$ echo $c
9
$[]
$ c=$[$a+$b]
$ echo $c
9
$(())
$ c=$(($a+$b))
$ echo $c
9
expr
注意空格
$ f=`expr $a + $b` #加号两边有空格
$ echo $f
9
文件测试
-e file: 是否存在
-f file: 是否为普通文件
-d file: 是否为目录
-r file: 是否可读
-w file:是否可写
-x file:是否可执行
$ nano tx.sh
#!/bin/bash
#
filename=/etc/passw
if [ ! -e $filename ];then
echo "no $filename"
exit 1
fi
$ chmod +x tx.sh
$ ./tx.sh
no /etc/passw
友情阅读推荐:
生信技能树公益视频合辑:学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!
B站链接:https://m.bilibili.com/space/338686099
YouTube链接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists
生信工程师入门最佳指南:https://mp.weixin.qq.com/s/vaX4ttaLIa19MefD86WfUA
网友评论