linux-nero 于 2009-11-16 17:53:06发表:
支持~~
魔幻幽灵 于 2008-03-25 22:43:30发表:
#!/usr/bin/sh mfile=~/temp.txt #自定义临时文件 echo [ -z $1 ] && { echo -n " 未指定待查询的用户名称!\n 是否列出所有注册用户信息(Y/N)? " read ok [ -z $ok ] && echo && exit { [ $ok != N ] && [ $ok != n ] && [ $ok != Y ] && [ $ok != y ] ;} && echo && exit { [ $ok = N ] || [ $ok = n ] ;} && echo && exit { [ $ok = Y ] || [ $ok = y ] ;} && awk -F: '{print "\n 用户 " $1 " 已注册!\n","用户名: "$1"\n","主目录: "$6"\n","登录SHELL: "$7}' /etc/passwd && echo && exit } if grep ^$1: /etc/passwd > $mfile ; then awk -F: '{print " 用户 " $1 " 已注册!\n","用户名: "$1"\n","主目录: "$6"\n","登录SHELL: "$7}' $mfile else echo " 用户 $1 尚未注册!" fi; echo rm -f $mfile _____________________________________________ 注意: 这个shell中所有awk的字符串格式都是依据本人系统中/etc/passwd文件而来的。如有运行错误,请检查你相应的文件中的内容格式,并对awk字符串格式作适当更改。[ 本帖最后由 魔幻幽灵 于 2008-3-26 13:34 编辑 ]
魔幻幽灵 于 2008-03-25 21:26:24发表:
提供一个简单思路,具体shell自己写写.... 假设定义用户名变量 name grep 文件/etc/passwd 中以 $name: 开头的行,并输出到临时文件中(设为temp.txt) grep temp.txt 中内容是否以 $name 开头,是则输出肯定信息,否则输出否定信息并中断shell grep temp.txt 中内容是否存在 :*$name: ,有则输出家目录,否则输出否定信息 grep temp.txt 中内容是否以 :/bin/*sh 结尾,是则输出用户shell,否则输出否定信息[ 本帖最后由 魔幻幽灵 于 2008-3-26 15:32 编辑 ]
netlawe 于 2008-03-25 16:11:39发表:
你这需要用shell操作数据库比较麻烦吧,这样的话还不如用php脚本的来写要简单的多,
zzxzuozuo 于 2008-03-25 09:16:01发表:
不知道列~~~~~~~ 还没到那个级别
linux-nero 于 2009-11-16 17:53:06发表:
支持~~
魔幻幽灵 于 2008-03-25 22:43:30发表:
#!/usr/bin/sh
mfile=~/temp.txt #自定义临时文件
echo
[ -z $1 ] && {
echo -n " 未指定待查询的用户名称!\n 是否列出所有注册用户信息(Y/N)? "
read ok
[ -z $ok ] && echo && exit
{ [ $ok != N ] && [ $ok != n ] && [ $ok != Y ] && [ $ok != y ] ;} && echo && exit
{ [ $ok = N ] || [ $ok = n ] ;} && echo && exit
{ [ $ok = Y ] || [ $ok = y ] ;} && awk -F: '{print "\n 用户 " $1 " 已注册!\n","用户名: "$1"\n","主目录: "$6"\n","登录SHELL: "$7}' /etc/passwd && echo && exit
}
if grep ^$1: /etc/passwd > $mfile ; then
awk -F: '{print " 用户 " $1 " 已注册!\n","用户名: "$1"\n","主目录: "$6"\n","登录SHELL: "$7}' $mfile
else
echo " 用户 $1 尚未注册!"
fi;
echo
rm -f $mfile
_____________________________________________
注意: 这个shell中所有awk的字符串格式都是依据本人系统中/etc/passwd文件而来的。如有运行错误,请检查你相应的文件中的内容格式,并对awk字符串格式作适当更改。
[ 本帖最后由 魔幻幽灵 于 2008-3-26 13:34 编辑 ]
魔幻幽灵 于 2008-03-25 21:26:24发表:
提供一个简单思路,具体shell自己写写....
假设定义用户名变量 name
grep 文件/etc/passwd 中以 $name: 开头的行,并输出到临时文件中(设为temp.txt)
grep temp.txt 中内容是否以 $name 开头,是则输出肯定信息,否则输出否定信息并中断shell
grep temp.txt 中内容是否存在 :*$name: ,有则输出家目录,否则输出否定信息
grep temp.txt 中内容是否以 :/bin/*sh 结尾,是则输出用户shell,否则输出否定信息
[ 本帖最后由 魔幻幽灵 于 2008-3-26 15:32 编辑 ]
netlawe 于 2008-03-25 16:11:39发表:
你这需要用shell操作数据库比较麻烦吧,这样的话还不如用php脚本的来写要简单的多,
zzxzuozuo 于 2008-03-25 09:16:01发表:
不知道列~~~~~~~
还没到那个级别