Shell 简单编程

3 篇文章 0 订阅
#!/bin/bash
#sh1.sh
name="admin"
Npass="123"
loops=1
filename="dlxxlog.log"
logins(){
	echo "Your name:"
	read user
	echo "Your Password:"
	read pass
	
}

logins
#!用户信息导入日志
servermessage(){
		`echo "$LOGNAME">>$filename`
		`echo $HOME>>$filename`
		` who |grep $LOGNAME |cut -d ' ' -f 12 >>$filename`
		
	}
longen(){
	echo "Welcome to this System!/n"
	#!判断在线人数,消除冗余	》》最后用两遍cut的原因是当只有一个用户登录系统时候和多个不同用户登录系统时所处理的用户个数存储时,单个用户存储在1列,而多用的时候存储在2列
	echo "`who|cut -d ' ' -f 1 >temp`"
	echo "now at this System man is :"`uniq temp >temps;wc temps>temp;cat temp|cut -d ' ' -f 1;cat temp|cut -d ' ' -f 2`
	#!睡眠	
	sleep 3
	#!显示用户信息并进行存储
	echo "username is :"$LOGNAME
	echo "user-dir is:"$HOME
	echo "user-login-time is "` who |grep $LOGNAME |cut -d ' ' -f 12` #!12的原因是时间从12列开始
	if [ `test -s $filename` ];					  #!测试是否存在日志文件
	then
		echo "$filename file is at, so go on"
		servermessage
	else 
		echo "$filename is no at ,so new file "
		`touch $filename`
		servermessage
	fi
	#!主目录下建立一个目录,键盘读入目录名字并进行判断,并移动dlxxlog.log
	echo "Please input new DIR name:"
	read dir_name 
	echo `find /home/$LOGNAME/ -name $dir_name`
	if [ ` test -s temp ` ];
	then 
		
		echo "The DIR is ating ,go on cp $filename"
	else
		echo "The DIR is not at ,so New file"
		echo `mkdir $HOME/$dir_name`	

	fi
	`cp $filename $HOME/$dir_name;rm temp*`
	echo "cp is over"
}
while [ $loops -lt 3 ]
do
	if [ $user = $name -a $pass = $Npass ];
	then
	longen
	loops=4
	else
	echo "You name / password is rong!"
	logins
	fi
        loops=`expr $loops + 1 `
done
if [ $loops -eq 3 ];
then
	echo "用户名密码错误输入超过3次"
fi
#!cat a.txt|cut -d ' ' -f 1 >c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值