练习七:grep练习(二)

一、练习

    1.写一个脚本,实现如下功能
        1)如果user1用户存在,就显示其存在,否则添加之;
        2)显示添加的用户的id号等信息。

[root@wybaron_host1015 ~]# vim script/adduser1.sh

#!/bin/bash
#
# 如果user1用户存在,就显示其存在,否则添加之
# 显示添加的用户的id号等信息
#

id user1 &> /dev/null && echo "user1 presence!" || useradd user1
grep "^user1.*" /etc/passwd

                                                                                                                          
~                                                                                                                               
"script/adduser1.sh" 9L, 218C  

[root@wybaron_host1015 ~]# bash -n script/adduser1.sh 
[root@wybaron_host1015 ~]# bash script/adduser1.sh 
user1:x:1005:1007::/home/user1:/bin/bash
[root@wybaron_host1015 ~]# bash script/adduser1.sh 
user1 presence!
user1:x:1005:1007::/home/user1:/bin/bash

    2.写一个脚本,完成如下功能
        如果root用户登录了当前系统,就显示root用户在线;否则说明其未登录。

[root@wybaron_host1015 ~]# vim script/login_root.sh

#!/bin/bash
#
# 如果root用户登录了当前系统,就显示root用户在线;否则说明其未登录
#

who | grep "^root\b" &> /dev/null || echo "root not logged in !" && echo "root logged in !"
                                                                                                                               
~                                                                                                                               
"script/login_root.sh" 6L, 202C 

[root@wybaron_host1015 ~]# bash -n script/login_root.sh 
[root@wybaron_host1015 ~]# bash script/login_root.sh 
root logged in !

二、补充

    标准输入输出

类型表示功用路径
标准输入0从键盘获得输入/proc/self/fd/0
标准输出1输出正确到屏幕、控制台/proc/self/fd/1
标准错误输出2输出错误到屏幕、控制台/proc/self/fd/2

    重定向与追加

类别释义
$FILE.a>$FILE.b将$FILE.a的内容覆盖至$FILE.b中
$FILE.a>>$FILE.b将$FILE.a的内容追加至$FILE.b尾部
1>$FILE.b将标准输出信息重定向至$FILE.b中
2>$FILE.b将标准错误输出重定向至$FILE.b中
&>$FILE.b将标准输出和标准错误输出均重定向至$FILE.b中

    常用特殊文件

路径功用
/dev/null      空设备文件,“Linux黑洞”,任何写入都将会丢弃,但会报告写入操作成功
/dev/zero      伪文件,不停产生二进制的零流(非ASCII型),主要用于创建一个指定长度的用于初始化的空文件,类似临时交换文件

 

转载于:https://my.oschina.net/comics/blog/2208095

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值