Shell脚本练习1

#!/bin/bash
while :
do
    read -p ">>>" user                
    [[ "$user" = "Q" ]] || [[ "$user" = "q" ]] && break
    [[ -z $user ]] && continue
    id $user &>/dev/null
    [[ $? -eq 0 ]] && cat /etc/passwd | awk -F: '{ print $1,$NF }'|grep $user  || echo "user not exist"
done

 

脚本实现目标,判断用户是否存在

主要思路

while do语句实现循环

添加变量$user 退出机制  使用 “||”,“&&”分别为与运算和或运算,进行循环退出。

[[ -z $user]]   判断$user是否为空值 continue 跳入下个循环

$? 上个命令的退出状态,或函数的返回值

判断是否为空值 打印配置文件所在行  ($NF将每行第NF字段打出来)

顺便回忆下shell脚本中比较大小的参数

-eq           //等于

-ne           //不等于

-gt            //大于

-lt            //小于

-ge            //大于等于

-le            //小于等于

 

posted @ 2018-01-19 14:41  uMOE  阅读(73)  评论(0)    收藏  举报