给定一个用户:
如果UID为0:那么显示为管理员
否则 显示为普通用户
NAME = user16
USERID=`id -u $NAME`
if [ $USERID -eq 0 ]; then
echo 'Adimin'
else
echo 'common user.'
fi
if id $NAME
判断用户是否存在;
id -u $NAME -eq 0
判断UID是否为0
$? 判断执行结果是否为真。0为真,其他为假(各有各的不幸)
练习:判断当前系统上是否有用户的默认shell为bash;
如果有,就显示有多少个这样的用户;否则,就显示没有这类用户;
nano bash.sh
#! /bin/bash
#
grep "\<bash$" /etc/passwd &> /dev/null
RETVAL = $?
if [ RETVAL -eq 0 ]; then
grep "\<bash$" /etc/passwd | wc -l
else
echo "No such user."
fi
给定一个文件,判断其是否有空白行,如果有显示其空白行数;如果没有则显示没有空白行
给定一个用户,判断其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"
fi
shell 中如何进行算数运算:
-
let C=$A + $B; echo $C
算术运算表达式 $[算术运算表达式] C= $[$A + $B]
$((算数运算表达式)) C=$(($A + $B))
- expr 算数运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用:C =
expr $A + $B
date +%s
1586783483
(取得秒数)
TIMESTAMP = `date +%s`
let USEDAYS = $TIMESTAMP/86400
echo $USEDAYS
网友评论