1.给定一个用户,如果其UID为0,显示为管理员,否则为普通用户
#!/bin/bash read -p "input your name :" -t 30 username #first way userid=`grep "^$username:" /etc/passwd | cut -d: -f3` echo $userid [ $userid -eq 0 ] && echo "you are root" || echo "you are not root" #second way userid2=`id -u "$username"` [ $userid2 -eq 0 ] && echo "you are root..." || echo "you are not root..." |
2.给定一个用户,如果存在则显示,否则添加这个用户,并同时设置密码为用户名
#!/bin/bash read -p "input username:" -t 30 username if id $username &>/dev/null ; then echo "$username is exits" else useradd $username echo "$username" | passwd --stdin $username echo "$username is added success!" fi |
3. 思考与总结
关于LINUX BASH的变量类型
A.环境变量 对于命令行启动的SHELL进程有效。 B.本地变量 对本SHELL进程有效。需要注意的是,父SHELL和子SHELL是两个不同的SHELL进程,不会共享本地变量的。 C.位置变量 形式表现为$1,$2... D.特殊变量 比如,$? $?对于我们非常有用,我们执行了一个命令,其实,有一个命令的执行结果,还有一个命令的执行状态码 (可以理解为HTTP协议中的HTTP RESPONSE STATUS CODE) 那么$?将有助于我们判断命令是否正确执行。0 代表正确,1-255为不正确。 |
关于逻辑运算中的短路现象
A && B 实际上,如果A不正确,那么B不会执行 A || B 如果A不正确,那么B才会得到执行 根据上面的理论,我们可以得到: A && B || C 如果A正确,那么执行B 如果A不正确,那么执行C |