一、练习
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型),主要用于创建一个指定长度的用于初始化的空文件,类似临时交换文件 |