美文网首页
条件判断2, 文件测试

条件判断2, 文件测试

作者: liyin_d64b | 来源:发表于2018-10-30 11:39 被阅读0次

条件判断2

练习
  1. 给定一个用户,判断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

学徒培养:https://mp.weixin.qq.com/s/3jw3_PgZXYd7FomxEMxFmw

相关文章

网友评论

      本文标题:条件判断2, 文件测试

      本文链接:https://www.haomeiwen.com/subject/whgwtqtx.html