2019.03.14_10:00-11:30_mage_Linux_log

2019.03.13_10:00-11:30_mage_Linux_log

练习

判断当前系统上是否有用户的默认shell为bash;
如果有,就显示有多少这类用户;否则,就显示没有这类用户
#!/bin/bash
grep “\<bash$” /etc/passwd &> /etc/null
STAVAL=$?
if [ $STAVAL -eq 0 ]; then
USERS=`grep “\<bash$” /etc/passwd | wc -l`
echo “$USERS users’ shell is bash.”
else
echo “No such users.”

练习

判断当前系统上是否有用户的默认shell为bash;
如果有,就显示其中一个的用户名;否则,就显示没有这类用户
2019.03.14_10:00-11:30_mage_Linux_log

练习

写一个脚本,判断一个用户其UID与GID是否一样,如果一样,就显示此用户为“good guy”;否则,就显示为“bad guy”
#!/bin/bash
USERNAME=user1
USERID=`id -u $USERNAME`
GROUPID=`id -g $USERNAME`
if [ $USERID -eq $GROUPID ]; then
echo “Good guy.”
else
echo “Bad guy”
进一步要求;不使用id命令获取其id号:
???????

练习

给定一个用户获取其密码警告期限:
而后判定用户最近一次修改密码时间距今天此刻是否已经小于警告期限;提示:算术运算$[ $A - $B ]:表示变量A的值减去变量B的值的结果;如果小于就显示Warning;否则,显示OK。
使用bc命令;date取得今天为止经过的秒数:
date +%s
????????

练习

写一个脚本,判定命令历史中的总条目是否大于1000;如果大于,则显示“some command will gone.”;否则,显示“OK”
运行history结果给变量,取变量值行数,和1000比较

shell中如何进行算术运算?

1.let 算术运算表达式, 无空格
let c=$A+$B
2.$[算术运算表达式]; 无空格
D= $ [$ A+$ B]
3.$ ((算术运算表达式)); 无空格
C=$(( $ A+$ B))
4.expr 算术运算表达式;表达式中各操作数及运算符之间要有空格,而且要使用命令引用
c=`expr $A + $B`