1:
写个循环
user1创建到user10 ,用户存在不创建,密码同用户,
接受一个参数
add: 创建用户
del:删除用户
其他:报错
2:计算 100以内 能被3整除的数的和
%取余
3:
随机生成10个数,挑选出最大的和最小的
4:
分别统计,默认shell 各有多少用户,别分别列出用户:
格式:
/bin/bash : 3users user1 user2 user3
/sbin/nologin
/sbin/halt
/bin/sync
/sbin/shutdown
写个循环
user1创建到user10 ,用户存在不创建,密码同用户,
接受一个参数
add: 创建用户
del:删除用户
其他:报错
2:计算 100以内 能被3整除的数的和
%取余
3:
随机生成10个数,挑选出最大的和最小的
4:
分别统计,默认shell 各有多少用户,别分别列出用户:
格式:
/bin/bash : 3users user1 user2 user3
/sbin/nologin
/sbin/halt
/bin/sync
/sbin/shutdown
0
1:
if [ $1 == 'add' ];then
for I in `seq 10`;do
if ! id "user$I" &>/dev/null;then
useradd "user$I" && echo "user$I" | passwd --stdin "user$I" &>/dev/null
echo "user$I chuangjian chenggong"
else
echo "user$I yi cunzai wu fa chuangjian"
fi
done
elif [ $1 == 'del' ];then
for U in `seq 10`;do
if id "user$U"&>/dev/null;then
userdel -r "user$U" &&echo "user$U shanchu chenggong" &>/dev/null
echo "user$U shanchu chenggong"
else
echo "user$U bu cunzai"
fi
done
else
echo "cuowu"
exit 10
fi
if [ $1 == 'add' ];then
for I in `seq 10`;do
if ! id "user$I" &>/dev/null;then
useradd "user$I" && echo "user$I" | passwd --stdin "user$I" &>/dev/null
echo "user$I chuangjian chenggong"
else
echo "user$I yi cunzai wu fa chuangjian"
fi
done
elif [ $1 == 'del' ];then
for U in `seq 10`;do
if id "user$U"&>/dev/null;then
userdel -r "user$U" &&echo "user$U shanchu chenggong" &>/dev/null
echo "user$U shanchu chenggong"
else
echo "user$U bu cunzai"
fi
done
else
echo "cuowu"
exit 10
fi
0
2:
M=0
for I in `seq 100`;do
N=$[ $I%3 ] 注: 在取余的时候 需要 运算 所以需要加运算符号 $[ ]
# echo $N
if [ "$N" -eq 0 ];then
M=$[ $M + $I ]
fi
M=0
for I in `seq 100`;do
N=$[ $I%3 ] 注: 在取余的时候 需要 运算 所以需要加运算符号 $[ ]
# echo $N
if [ "$N" -eq 0 ];then
M=$[ $M + $I ]
fi
0
3:
declare -i M=0
declare -i F=10000000000
for I in `seq 10`;do
N=$RANDOM
if [ $N -gt $M ];then
M=$N
elif [ $N -lt $F ];then
F=$N
fi
done
echo "zui da de shi$M"
echo "zui xiao de shi $F"
declare -i M=0
declare -i F=10000000000
for I in `seq 10`;do
N=$RANDOM
if [ $N -gt $M ];then
M=$N
elif [ $N -lt $F ];then
F=$N
fi
done
echo "zui da de shi$M"
echo "zui xiao de shi $F"
0
本帖最后由 wuhen 于 2015-2-28 18:56 编辑
- 1、#!/bin/bash
- read -p "Please you input a character(add or del or any): " n
- case $n in
- add)
- for i in `seq 1 3`
- do
- grep -q user$i /etc/passwd
- if [ $? -ne 0 ]
- then
- useradd user$i
- echo "user$i"|passwd --stdin user$i
- else
- echo "user$i already exist"
- fi
- done
- ;;
- del)
- for j in `seq 1 3`
- do
- userdel -r user$j
- done
- ;;
- *)
- echo "you input flase"
- ;;
- esac
- 2、#!/bin/bash
- sum=0
- for i in `seq 1 100`
- do
- if [ $[$i%3] -eq 0 ]
- then
- sum=$[$i+$sum]
- fi
- done
- echo "sum is:" $sum
- 3、#!/bin/bash
- M=0
- N=100000
- for i in `seq 1 3`
- do
- a=`echo $RANDOM`
- if [ $a -gt $M ]
- then
- M=$a
- elif [ $a -lt $N ]
- then
- N=$a
- fi
- done
- echo "zui da de" $M
- echo "zui xiao de" $N
- 4、#!/bin/bash
- a1=`awk -F: '{print $7}' /etc/passwd|sort -n|uniq -c|sort -n|awk '{print $2" "$1}'|sed -n '1p'`
- a2=`awk -F: '{print $7}' /etc/passwd|sort -n|uniq -c|sort -n|awk '{print $2}'|sed -n '1p'`
- a3=`awk -F: '{print $1" "$7}' /etc/passwd|grep $a2|awk '{print $1}'`
- echo "$a1 $a3"
- b1=`awk -F: '{print $7}' /etc/passwd|sort -n|uniq -c|sort -n|awk '{print $2" "$1}'|sed -n '2p'`
- b2=`awk -F: '{print $7}' /etc/passwd|sort -n|uniq -c|sort -n|awk '{print $2}'|sed -n '2p'`
- b3=`awk -F: '{print $1" "$7}' /etc/passwd|grep $b2|awk '{print $1}'`
- echo "$b1 $b3"
- c1=`awk -F: '{print $7}' /etc/passwd|sort -n|uniq -c|sort -n|awk '{print $2" "$1}'|sed -n '3p'`
- c2=`awk -F: '{print $7}' /etc/passwd|sort -n|uniq -c|sort -n|awk '{print $2}'|sed -n '3p'`
- c3=`awk -F: '{print $1" "$7}' /etc/passwd|grep $c2|awk '{print $1}'`
- echo "$c1 $c3"
- d1=`awk -F: '{print $7}' /etc/passwd|sort -n|uniq -c|sort -n|awk '{print $2" "$1}'|sed -n '4p'`
- d2=`awk -F: '{print $7}' /etc/passwd|sort -n|uniq -c|sort -n|awk '{print $2}'|sed -n '4p'`
- d3=`awk -F: '{print $1" "$7}' /etc/passwd|grep $d2|awk '{print $1}'`
- echo "$d1 $d3"
- e1=`awk -F: '{print $7}' /etc/passwd|sort -n|uniq -c|sort -n|awk '{print $2" "$1}'|sed -n '5p'`
- e2=`awk -F: '{print $7}' /etc/passwd|sort -n|uniq -c|sort -n|awk '{print $2}'|sed -n '5p'`
- e3=`awk -F: '{print $1" "$7}' /etc/passwd|grep $e2|awk '{print $1}'|xargs`
- echo "$e1 $e3"
0
最后一题 今天写到了这里 但是 结果 还是 不对 明天继续研究
#!/bin/bash
#
> /xbash/1.txt
Number=`wc -l /etc/passwd | awk -F " " '{print $1}'`
for I in `seq "$Number"`;do
N=`head -$I /etc/passwd | awk -F : '{print $NF}' | sed "$"p -n`
M=`head -$I /etc/passwd | awk -F : '{print $1}' | sed "$"p -n`
if [[ $N == "/bin/bash" ]];then
echo "/bin/bash: $M" >>/xbash/1.txt
elif [[ $N == "/sbin/nologin" ]];then
echo "/sbin/nologin: $M" >>/xbash/1.txt
elif [[ $N == "/sbin/halt" ]];then
echo "/sbin/halt: $M" >>/xbash/1.txt
elif [[ $N == "/bin/sync" ]];then
echo "/bin/sync: $M" >>/xbash/1.txt
elif [[ $N == "/sbin/shutdown" ]];then
echo "/sbin/shutdown: $M" >>/xbash/1.txt
else
echo "no"
fi
done
#bin/bash
shu1=0
#sbin/nologin
shu2=0
#sbin/nologin
shu3=0
#sbin/halt
shu4=0
#bin/sunc
shu5=0
#sbin/shutdown
shu6=0
NB=`wc -l /xbash/1.txt | awk -F " " '{print $1}'`
for P in `seq "$NB"`;do
N1=`head -$P /xbash/1.txt | sed "$"p -n | awk -F ":" '{print $1}'`
if [[ $N1 == "/bin/bash" ]];then
shu1+=$P
elif [[ $N1 == "/sbin/nologin" ]];then
shu2+=$P
elif [[ $N1 == "/sbin/halt" ]];then
shu3+=$P
elif [[ $N1 == "/bin/sunc" ]];then
shu4+=$P
elif [[ $N == "/sbin/shutdown" ]];then
shu5+=$P
else
echo "no2"
fi
done
echo "/bin/bash: "$shu1"users"
echo "/sbin/nologin: "$shu2"users"
echo "/sbin/halt: "$shu3"users"
echo "/bin/sync: "$shu4"users"
echo "/sbin/shutdown: "$shu5"users"
#!/bin/bash
#
> /xbash/1.txt
Number=`wc -l /etc/passwd | awk -F " " '{print $1}'`
for I in `seq "$Number"`;do
N=`head -$I /etc/passwd | awk -F : '{print $NF}' | sed "$"p -n`
M=`head -$I /etc/passwd | awk -F : '{print $1}' | sed "$"p -n`
if [[ $N == "/bin/bash" ]];then
echo "/bin/bash: $M" >>/xbash/1.txt
elif [[ $N == "/sbin/nologin" ]];then
echo "/sbin/nologin: $M" >>/xbash/1.txt
elif [[ $N == "/sbin/halt" ]];then
echo "/sbin/halt: $M" >>/xbash/1.txt
elif [[ $N == "/bin/sync" ]];then
echo "/bin/sync: $M" >>/xbash/1.txt
elif [[ $N == "/sbin/shutdown" ]];then
echo "/sbin/shutdown: $M" >>/xbash/1.txt
else
echo "no"
fi
done
#bin/bash
shu1=0
#sbin/nologin
shu2=0
#sbin/nologin
shu3=0
#sbin/halt
shu4=0
#bin/sunc
shu5=0
#sbin/shutdown
shu6=0
NB=`wc -l /xbash/1.txt | awk -F " " '{print $1}'`
for P in `seq "$NB"`;do
N1=`head -$P /xbash/1.txt | sed "$"p -n | awk -F ":" '{print $1}'`
if [[ $N1 == "/bin/bash" ]];then
shu1+=$P
elif [[ $N1 == "/sbin/nologin" ]];then
shu2+=$P
elif [[ $N1 == "/sbin/halt" ]];then
shu3+=$P
elif [[ $N1 == "/bin/sunc" ]];then
shu4+=$P
elif [[ $N == "/sbin/shutdown" ]];then
shu5+=$P
else
echo "no2"
fi
done
echo "/bin/bash: "$shu1"users"
echo "/sbin/nologin: "$shu2"users"
echo "/sbin/halt: "$shu3"users"
echo "/bin/sync: "$shu4"users"
echo "/sbin/shutdown: "$shu5"users"
0
先 touch 一个 1.txt
然后 执行 sh 是这样的
[root@localhost xbash]# !sh
sh paisuser.sh
no2
no2
/bin/bash: 01users
/sbin/nologin: 023459101112131415161718192021users
/sbin/halt: 08users
/bin/sync: 0users
/sbin/shutdown: 0users
然后 执行 sh 是这样的
[root@localhost xbash]# !sh
sh paisuser.sh
no2
no2
/bin/bash: 01users
/sbin/nologin: 023459101112131415161718192021users
/sbin/halt: 08users
/bin/sync: 0users
/sbin/shutdown: 0users
0
结果 必然不对。
cat /xbash/1.txt
/bin/bash: root
/sbin/nologin: bin
/sbin/nologin: daemon
/sbin/nologin: adm
/sbin/nologin: lp
/bin/sync: sync
/sbin/shutdown: shutdown
/sbin/halt: halt
/sbin/nologin: mail
/sbin/nologin: uucp
/sbin/nologin: operator
/sbin/nologin: games
/sbin/nologin: gopher
/sbin/nologin: ftp
/sbin/nologin: nobody
/sbin/nologin: vcsa
/sbin/nologin: saslauth
/sbin/nologin: postfix
/sbin/nologin: sshd
/sbin/nologin: mysql
/sbin/nologin: deamon
cat /xbash/1.txt
/bin/bash: root
/sbin/nologin: bin
/sbin/nologin: daemon
/sbin/nologin: adm
/sbin/nologin: lp
/bin/sync: sync
/sbin/shutdown: shutdown
/sbin/halt: halt
/sbin/nologin: mail
/sbin/nologin: uucp
/sbin/nologin: operator
/sbin/nologin: games
/sbin/nologin: gopher
/sbin/nologin: ftp
/sbin/nologin: nobody
/sbin/nologin: vcsa
/sbin/nologin: saslauth
/sbin/nologin: postfix
/sbin/nologin: sshd
/sbin/nologin: mysql
/sbin/nologin: deamon
0
## 水平有限,望海涵 !!!
- #!/bin/bash
- filename=/etc/passwd
- shell=(`awk -F : '{shell[$NF]++} END {for (i in shell) print i}' $filename`)
- shell1=(`awk -F : '{shell[$NF]++} END {for (i in shell) print i"_"shell[i]"_Users"}' $filename`)
- length=${#shell[@]}
- for ((i=0;i<$length;i++))
- {
- echo ${shell1[$i]} `awk -F : '$NF~"'${shell[$i]}'"{print $1}' $filename`
- }
- # End
## 水平有限,望海涵 !!!
0
本帖最后由 hangtiangazi 于 2015-3-16 17:42 编辑
http://www.aminglinux.com/bbs/ ... xnone
能帮我解释一下这个是什么意思?
王肖强 发表于 2015-3-2 23:45
## 水平有限,望海涵 !!!
http://www.aminglinux.com/bbs/ ... xnone
能帮我解释一下这个是什么意思?
0
1.#!/bin/bash ## add or delete user read -p "Please input an character(add del or others): " character case $character in add) for i in `seq 1 10`;do chr2=awk -F: '$1==“‘user$i’“ {print $1}' /etc/passwd if [ -z $chr2 ];then useradd user"$i" echo -e ”user$i\nuser$i\nuser$i” |passwd --stdin user$i else echo "user$i已经存在,add" continue fi done ;; del) for i in `seq 1 10`;do chr2=awk -F: '$1==”‘user$i’“{ print $1}' /etc/passwd if [ -z $chr2 ];then echo "你查找的用户不存在,无需删除!" continue else userdel user$i echo "user$i 删除成功" fi done ;; *) echo "your input is false" ;; esac
0
2
- #!/bin/bash
- ##test2
- for i in `seq 1 100`;do
- a=$[$i%3]
- if[ $a -eq 0 ]; then
- sum=$[$sum+$i]
- else
- continue
- fi
- done
- echo $sum
0
- #!/bin/bash
- ##
- sum=0
- for i in `seq 1 100`
- do
- if [ $[$i%3] -eq 0 ];then
- sum=$[$sum+$i]
- fi
- done
- echo $sum;
0
3
- #!/bin/bash
- ##test3
- for i in `seq 0 9``;do
- arry[$i]=`echo $RANDOM`
- echo ${arry[$i]}
- done
- max=${arry[0]}
- min=${arry[0]}
- for j in {1..9};do
- if [ ${arry[$j]} -gt $max ];then
- max=${arry[$j]}
- elif [ ${arry[$j]} -lt $min ]; then
- min=${arry[$j]}
- fi
- done
- echo "10个随机数的最大值是$max,最小值是$min”
0
3
- 1 #for i in `seq 1 10`;do
- 2 #!/bin/bash
- 3 ##test3
- 4 for i in `seq 1 10`;do
- 5 arry[$i]=`echo $RANDOM`
- 6 echo ${arry[$i]} >> /tmp/1.txt
- 7 done
- 8 a=`sort -n /tmp/1.txt |head -1`
- 9 b=`sort -n /tmp/1.txt | tail -1`
- 10 echo $a $b
0
- #!/bin/bash
- ##
- for i in `seq 1 10`
- do
- ! id user$i &>/dev/null && useradd user$i && echo "user$i"|passwd --stdin user$i || echo "user$i is exist!"
- done
0
4
- #/bin/bash
- ##Test4
- filename=/etc/passwd
- user=(`awk -F: '{++user1[$NF]} END{for (i in user1) print i}' $filename`)
- format=(`awk -F: '{++user1[$NF]} END{for (i in user1) print i"_"user1[i]_"users"}' $filename`)
- length=${#user[*]}
- len=$[$length-1]
- for i in `seq 0 "$len"`do
- echo ${format[$i]} `awk -F: '$NF~"'${user[$i]}'" {print $1}' $filename`
- done
0
case $1 in
add)
for i in `seq 0 10`
do
aa=`cat /etc/passwd | awk -F: '{print $1}' | grep "user"$i""`
if [ -z "$aa" ];then
useradd -M user"$i" && echo " user"$i"" | passwd --stdin user"$i"
fi
done
;;
del)
for i in `seq 0 10`
do
aa=`cat /etc/passwd | awk -F: '{print $1}' | grep "user"$i""`
if [ -n "$aa" ];then
userdel user"$i"
fi
done
;;
*)
"Wrong!"
;;
esac
add)
for i in `seq 0 10`
do
aa=`cat /etc/passwd | awk -F: '{print $1}' | grep "user"$i""`
if [ -z "$aa" ];then
useradd -M user"$i" && echo " user"$i"" | passwd --stdin user"$i"
fi
done
;;
del)
for i in `seq 0 10`
do
aa=`cat /etc/passwd | awk -F: '{print $1}' | grep "user"$i""`
if [ -n "$aa" ];then
userdel user"$i"
fi
done
;;
*)
"Wrong!"
;;
esac
0
#!/bin/bash
#计算 100以内 能被3整除的数的和
declare -i aa=3
declare -i sum=0
while [ $aa -lt 100 ]
do
sum=$[$aa+$sum]
aa=$[$aa+3]
echo $aa
done
echo $sum
#计算 100以内 能被3整除的数的和
declare -i aa=3
declare -i sum=0
while [ $aa -lt 100 ]
do
sum=$[$aa+$sum]
aa=$[$aa+3]
echo $aa
done
echo $sum
0
#!/bin/bash
#随机生成10个数,挑选出最大的和最小的
declare -i max=0
declare -i min=100000
for i in `seq 1 10`
do
a[$i]=$RANDOM
if [ ${a[$i]} -gt $max ];then
max=${a[$i]}
fi
if [ ${a[$i]} -lt $min ];then
min=${a[$i]}
fi
done
echo "最大是"$max"."
echo "最小是"$min"."
#随机生成10个数,挑选出最大的和最小的
declare -i max=0
declare -i min=100000
for i in `seq 1 10`
do
a[$i]=$RANDOM
if [ ${a[$i]} -gt $max ];then
max=${a[$i]}
fi
if [ ${a[$i]} -lt $min ];then
min=${a[$i]}
fi
done
echo "最大是"$max"."
echo "最小是"$min"."
0
只看了题目 没看学长的答案, 发现我写漏了。
- #! /bin/bash
- # write by zhangyong
- # 2015-12-03
- #auto add or del user
- echo "----------------------------------------------"
- echo "add: adduser"
- echo "del: deluser"
- read -t 30 -p "please input 'add' or 'del': " a
- case $a in
- add) for i in `seq 1 10`
- do
- useradd user$i
- echo "user$i" |passwd --stdin user$i
- done
- ;;
- del) for i in `seq 1 10`
- do
- userdel -r user$i
- done
- ;;
- *) echo "you input is erro ,please input again"
- ;;
- esac
0
- #! /bin/bash
- i=1
- sum=0
- while [ $i -lt 100 ]
- do
- b=$[$i%3]
- if [ $b -eq 0 ]
- then
- sum=$[ $sum+$i ]
- fi
- i=$(($i+1))
- done
- echo $sum
0
本帖最后由 hlymlv 于 2016-1-11 22:07 编辑
4.awk -F ':' '{print $NF}' /etc/passwd|sort|uniq -c|sed -r 's/(.*[0-9])()(.*$)/\3\2\1/g'|sed 's/^.*$/& users/g'
还差一点,可以打印出匹配的用户然后用sed 插入到后面去
4.awk -F ':' '{print $NF}' /etc/passwd|sort|uniq -c|sed -r 's/(.*[0-9])()(.*$)/\3\2\1/g'|sed 's/^.*$/& users/g'
还差一点,可以打印出匹配的用户然后用sed 插入到后面去
0
出来了 有一点小缺陷
#!/bin/bash
m=`awk -F ':' '$NF=="/bin/bash" {print $1}' /etc/passwd|tr '\n' ' '`
n=`awk -F ':' '$NF=="/sbin/nologin" {print $1}' /etc/passwd|tr '\n' ' '`
a=`awk -F ':' '$NF=="/bin/sync" {print $1}' /etc/passwd|tr '\n' ' '`
b=`awk -F ':' '$NF=="/sbin/shutdown" {print $1}' /etc/passwd|tr '\n' ' '`
awk -F ':' '{print $NF}' file|sort|uniq -c|sed -r 's/(.*[0-9])()(.*$)/\3\2\1/g'|sed -n '1'p|sed 's/^.*$/& users '"$m"'/g'
awk -F ':' '{print $NF}' file|sort|uniq -c|sed -r 's/(.*[0-9])()(.*$)/\3\2\1/g'|sed -n '2'p|sed 's/^.*$/& users '"$a"'/g'
awk -F ':' '{print $NF}' file|sort|uniq -c|sed -r 's/(.*[0-9])()(.*$)/\3\2\1/g'|sed -n '3'p|sed 's/^.*$/& users '"$b"'/g'
awk -F ':' '{print $NF}' file|sort|uniq -c|sed -r 's/(.*[0-9])()(.*$)/\3\2\1/g'|sed -n '4'p|sed 's/^.*$/& users '"$n"'/g'
[root@lazy ~]# sh 1.sh
/bin/bash 3 users root smbuser hlymlv
/bin/sync 1 users sync
/sbin/halt 1 users shutdown
/sbin/nologin 30 users bin daemon adm lp mail uucp operator games gopher ftp nobody dbus vcsa abrt haldaemon ntp saslauth postfix sshd tcpdump nscd mysql named victor mysql-proxy user1 user2 user3 mailnull smmsp
#!/bin/bash
m=`awk -F ':' '$NF=="/bin/bash" {print $1}' /etc/passwd|tr '\n' ' '`
n=`awk -F ':' '$NF=="/sbin/nologin" {print $1}' /etc/passwd|tr '\n' ' '`
a=`awk -F ':' '$NF=="/bin/sync" {print $1}' /etc/passwd|tr '\n' ' '`
b=`awk -F ':' '$NF=="/sbin/shutdown" {print $1}' /etc/passwd|tr '\n' ' '`
awk -F ':' '{print $NF}' file|sort|uniq -c|sed -r 's/(.*[0-9])()(.*$)/\3\2\1/g'|sed -n '1'p|sed 's/^.*$/& users '"$m"'/g'
awk -F ':' '{print $NF}' file|sort|uniq -c|sed -r 's/(.*[0-9])()(.*$)/\3\2\1/g'|sed -n '2'p|sed 's/^.*$/& users '"$a"'/g'
awk -F ':' '{print $NF}' file|sort|uniq -c|sed -r 's/(.*[0-9])()(.*$)/\3\2\1/g'|sed -n '3'p|sed 's/^.*$/& users '"$b"'/g'
awk -F ':' '{print $NF}' file|sort|uniq -c|sed -r 's/(.*[0-9])()(.*$)/\3\2\1/g'|sed -n '4'p|sed 's/^.*$/& users '"$n"'/g'
[root@lazy ~]# sh 1.sh
/bin/bash 3 users root smbuser hlymlv
/bin/sync 1 users sync
/sbin/halt 1 users shutdown
/sbin/nologin 30 users bin daemon adm lp mail uucp operator games gopher ftp nobody dbus vcsa abrt haldaemon ntp saslauth postfix sshd tcpdump nscd mysql named victor mysql-proxy user1 user2 user3 mailnull smmsp
0
- #!/bin/bash
- #20160112 by kenney
- for i in `seq 0 9`;do
- a[$i]=$[$RANDOM%100+1]
- done
- b=${a[0]}
- c=${a[0]}
- for n in ${a[@]};do
- if [ $n -lt $b ];then
- b=$n
- elif [ $n -gt $c ];then
- c=$n
- fi
- done
- echo "10个随机数为: ${a[@]}"
- echo "最小的数为 $b"
- echo "最大的数为 $c"
0
#!/bin/bash
##分别统计,不同shell 各有多少用户,并分别列出用户,passwd.txt为/etc/passwd的复本
##write by 2016-01-13
a=`cat passwd.txt|awk -F ':' '{print $7}'|sort|uniq -c|sort -n|awk '{print $2}'`
for i in `echo $a`;do
n=`grep $i passwd.txt|wc -l`
m=`grep $i passwd.txt|awk -F ':' '{print $1}'`
echo $i"的数量为:"$n,"用户分别为:"$m
done
##分别统计,不同shell 各有多少用户,并分别列出用户,passwd.txt为/etc/passwd的复本
##write by 2016-01-13
a=`cat passwd.txt|awk -F ':' '{print $7}'|sort|uniq -c|sort -n|awk '{print $2}'`
for i in `echo $a`;do
n=`grep $i passwd.txt|wc -l`
m=`grep $i passwd.txt|awk -F ':' '{print $1}'`
echo $i"的数量为:"$n,"用户分别为:"$m
done
0
本帖最后由 rolay8 于 2016-1-15 23:35 编辑
- 1
- #!/bin/bash
- case $1 in
- add )
- for i in `seq 1 10`; do
- grep -w user$i /etc/passwd
- if [ $? -ne 0 ]; then
- useradd user$i|passwd --stdin "user$i" &>/dev/null
- fi
- done
- ;;
- del )
- for i in `seq 1 10`; do
- userdel -rf user$i &>/dev/null
- echo "Account del success!"
- done
- ;;
- * )
- echo "Usage: {del|add}"
- ;;
- esac
0
- #!/bin/bash
- x=0
- for i in `seq 1 100`; do
- spare=$(($i%3))
- if [ $spare -eq 0 ]; then
- x=$(($i+$x))
- fi
- done
- echo "sum is $x"
0
- #!/bin/bash
- for i in `seq 0 9`; do
- array[$i]=$RANDOM
- done
- echo -n ${array[@]}|sed 's/ /\n/g'|sort -rn|sed -n '1p;$p'
编辑回复