1、练习:写一个脚本

判断当前系统上是否有用户的默认shell为bash;

如果有,就显示有多少个这类用户,且显示其中一个用户名称;

否则,就显示没有这类用户;

#!/bin/bash

# program

#  练习使用if语句判断默认shell

# history  level1 2016-10-19-14:00

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

export PATH

grep "\ /dev/null

RESULT=`echo $?`

if [ $RESULT -eq 0 ] ; then

BASHIN=`grep "\

echo "The number of bash users are `grep "\

echo "the one of is $BASHIN."

else

echo "no such user"

fi

提示:“引用”一个命令的执行结果,要使用命令引用;比如: RESAULTS=`wc -l /etc/passwd | cut -d: -f1`;

使用一个命令的执行状态结果,要直接执行此命令,一定不能引用;比如: if id user1一句中的id命令就一定不能加引号;

如果想把一个命令的执行结果赋值给某变量,要使用命令引用,比如USERID=`id -u user1`;

如果想把一个命令的执行状态结果保存下来,并作为命令执行成功与否的判断条件,则需要先执行此命令,而后引用其状态结果,如

id -u user1

RETVAL=$?

此句绝对不可以写为RETVAL=`id -uuser1`;

2、练习:写一个脚本

给定一个文件,比如/etc/inittab

判断这个文件中是否有空白行;

如果有,则显示其空白行数;否则,显示没有空白行。

#!/bin/bash

# program

#  练习使用if语句判断默认shell

# history  level1 2016-10-19-14:20

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

export PATH

grep "^$" /etc/inittab

RESULT=`echo $?`

if [ $RESULT -eq 0 ]; then

echo "The lines is `grep "^$" /etc/inittab | wc -l`"

else

echo "The lines is not exist."

fi

3、练习:写一个脚本

给定一个用户,判断其UID与GID是否一样

如果一样,就显示此用户为“good guy”;否则,就显示此用户为“bad guy”。

#!/bin/bash

# program

# 判断用户的GID和UID是否一致

# history 2016-10-19-15:26

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

export PATH

NAME=user5

USERUID=`id -u $NAME` (USERUID=`grep "\" /etc/passwd | cut -d: -f3`)

GROUPGID=`id -g $NAME` (USERUID=`grep "\" /etc/passwd | cut -d: -f4`)

if [ $USERUID -eq $USERGID ]; then

echo "The $NAME is good guy."

else

echo "The $NAME is bad guy."

fi

4、练习:写一个脚本

给定一个用户,获取其密码警告期限;

而后判断用户密码使用期限是否已经小于警告期限;

提示:计算方法,最长使用期限减去已经使用的天数即为剩余使用期限;

如果小于,则显示“Warning”;否则,就显示“OK”。

#!/bin/bash

# program

# 判断用户密码使用期限是否到期

# history time 2016-10-19-16:18

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

export PATH

USERNAME=donggen

CHADAY=`grep "\" /etc/shadow | cut -d: -f3`

LONGDAY=`grep "\" /etc/shadow | cut -d: -f5`

WARNING=`grep "\" /etc/shadow | cut -d: -f6`

let TODAYTIMES=`date +%s`/86400

let USEDTIMES=$TODAYTIMES-$CHADAY

let SURPLUSTIMES=$LONGDAY-$USEDTIMES

if [ $SURPLUSTIMES -lt $WARNING ]; then

echo "The surplus times is Warning!"

else

echo "The surplus times is OK!"

fi

5、练习:写一个脚本

给定一个文件;

如果不存在,直接退出;

如果是一个普通文件,就显示为普通文件

如果是一个目录,亦显示出来

否则,此为无法识别的文件;

#!/bin/bash

#program:

#判断文件的类型

#history time:2016-10-20-11:40

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

export PATH

FILENAME=/etc/inittab

if [ ! -e $FILENAME ]; then

echo "The $FILENAME is not exist."

exit 6

fi

if [ -f $FILENAME ]; then

echo "The $FILENAME is common file."

elif [ -d $FILENAME ]; then

echo "The $FILENAME is directory."

else

echo "The $FILENNAME is unknown."

fi

6、练习:写一个脚本

能接受一个参数(文件路径)

判定:此参数如果是一个存在的文件,就显示“ok";否则就显示“no such file.”

#!/bin/bash

#program:

#练习接受一个参数作为变量

#history time:2016-10-20-15:05

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

export PATH

if [  $# -lt 1 ]; then

echo " Usage: $0 AGR1 [AGR2...]"

exit 6

fi

if [ -e $1 ]; then

echo "ok."

else

echo "no such file"

fi

linux的if语句并且命令,linux命令:if语句练习相关推荐

  1. linux 命令删除命令,Linux 命令之删除命令

    在Linux下删除文件用rm命令,具体用法如下: rm [选项] 文件 选项说明: -f -force 忽略不存在的文件,强制删除,无任何提示 -i --interactive 进行交互式地删除 -r ...

  2. linux启停was命令,linux下的启停脚本

    linux下的根据项目名称,进行进程的启停脚本 #!/bin/bash JAVA=/usr/bin/java APP_HOME=/opt/program/qa/wechat APP_NAME=prog ...

  3. linux运维实战练习及linux shell脚本、awk、sed工具命令学习总结

    一.linux shell 脚本 1.描述shell程序的运行原理(可附带必要的图形说明): Linux系统的shell作为操纵系统的外壳,为用户提供使用操纵系统的接口.它是命令语言.命令解释程序及程 ...

  4. linux改变工作目录命令,linux命令:cd命令,改变当前的工作目录

    原标题 : 每天一个linux命令(2):cd命令 Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命 ...

  5. 【Linux】19.Linux环境变量名LD_LIBRARY_PATH 和 ldd命令详解

    Linux环境变量名LD_LIBRARY_PATH 和 ldd命令详解 参考链接: https://www.jianshu.com/p/a62e1d327023 LD_LIBRARY_PATH中的LD ...

  6. 你一定要知道的关于Linux文件目录操作的12个常用命令

    博客园 首页 新随笔 联系 管理 订阅 随笔- 26  文章- 1  评论- 18  你一定要知道的关于Linux文件目录操作的12个常用命令 转自:http://www.cnblogs.com/yo ...

  7. linux 复制包括子目录_【Linux分享】Linux常用命令+教程分享

    今天分享分为两部分 :)PART01 Linux常用命令分享/PART02 关于BD面试经验分享    30mins  Linux Command:PART 1 你本可以张口就来.....本篇内容分享 ...

  8. 在linux中的sort命令,linux中sort命令

    功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序. 参 数: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -d 排序时,处理英文字母.数 ...

  9. linux 如何打包分区文件,Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接...

    作业一: 1)将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt 2)将用户信息数据库文件和用户 ...

  10. linux下设定动态库路径的命令-error while loading shared libraries: xxx.so.x错误的原因和解决办法

    网站:http://blog.chinaunix.net/uid-26212859-id-3256667.html 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: ...

最新文章

  1. SAP S4HANA 介绍LTMC的文章链接
  2. linux生成数字命令,Linux下随机生成密码的命令
  3. Bookshelf 2
  4. boost::range模块transformed相关的测试程序
  5. VTK:Rendering之PhysicalBasedRendering
  6. C# 该行已经属于还有一个表 的解决方法
  7. 我所了解的Chrome
  8. java.lang.IllegalArgumentException: URLDecoder异常解决
  9. 关于MySQL的死锁问题
  10. daemons java,java.lang.ThreadGroup.isDaemon()方法实例
  11. python 条形图 负值_Python处理JSON数据并生成条形图
  12. Redis 那么快之底层 ziplist 的奥秘!
  13. 解决navicat连接不上mysql8
  14. ug如何复制面_学习UG,要从最基础的做起,初学者必备40条技巧
  15. 不择手段背单词、新东方词根词缀词典、超级新华字典、英语词根词缀记忆大全词典
  16. 用html语言设计网页教程,HTML网页制作基础
  17. matlab simulink电感,一文教你快速学会在matlab的simulink中调用C语言进行仿真
  18. CKA考试指南和攻略
  19. win10系统安装mscomm32.ocx控件
  20. 科技宜信让金融充满AI

热门文章

  1. DATEDIF函数使用方法高级篇到期提醒等
  2. 企业网站推广的方法有哪些?
  3. CSS基础--absolute与overflow
  4. Python 解压压缩包至文件夹、把整个文件夹打包至压缩包
  5. 【word】设置背景为绿豆沙保护色
  6. PM也要学会每天反省
  7. GDB调试总结和实例
  8. 2017深度学习装机清单 (附京东链接)
  9. 如何设置input只能输入数字
  10. 整理一个将qq音乐的歌单导入到苹果音乐中的方法