标签:space 大于 list 程序 dea $2 menu 等于 shm
#!/bin/bash
while true //死循环
do
date +%H%M >> /tmp/time.txt
sleep 300
done
[root@localhost ~]# cat uaddwhile.sh
#!/bin/bash
PREFIX="stu"
i=1
while (( $i <= 20 )) //循环条件:序号<=20
do
useradd ${PREFIX}$i
echo "123456" | passwd --stdin ${PREFIX}$i &> /dev/null
(( i++ ))
done
[root@localhost ~]# ./uaddwhile.sh
[root@localhost ~]# grep "stu" /etc/passwd | tail -3
stu18:x:1028:1028::/home/stu18:/bin/bash
stu19:x:1029:1029::/home/stu19:/bin/bash
stu20:x:1030:1030::/home/stu20:/bin/bash
[root@localhost ~]# cat /opt/rsync.sh
inotifywait -mrq -e modify,create,move,delete /bak/ | while read DIR EVENT FILE
do
rsync -az --delete /bak/ rsync://10.10.10.1/share &>/dev/null
done
[root@localhost ~]# inotifywait -mrq -e modify,create,move,delete /bak/
/bak/ CREATE passwd
/bak/ MODIFY passwd
/bak/ DELETE passwd
#!/bin/bash
cat /etc/passwd | cut -d: -f1,3 | tr : ‘ ‘ > file1
while read user uid
do
if (( uid>=500 && uid<=600 ))
then
echo "$user是普通用户"
else
echo "$user是系统用户"
fi
done < file1
#!/bin/bash
PRICE=$(expr $RANDOM % 1000)
TIMES=0
echo "商品实际价格为0-1000之间,猜猜看是多少?"
while true #循环条件:ture
do
read -p "请输入你猜测的价格数目:" INT
let TIMES++
if [ $INT -eq $PRICE ] ; then #提示猜测并记录次数
echo "恭喜你答对了,实际价格是 $PRICE"
echo "你总共猜测了 $TIMES 次"
exit 0 #若猜中则退出脚本
elif [ $INT -gt $PRICE ] ; then #与实际价格比较,给出提示
echo "太高了!"
else
echo "太低了!"
fi
done
[root@localhost ~]# ./pricegame.sh
商品实际价格为0-999之间,猜猜看是多少?
请输入你猜测的价格数目:500
太高了!
请输入你猜测的价格数目:250
太低了!
请输入你猜测的价格数目:375
太高了!
请输入你猜测的价格数目:280
太高了!
请输入你猜测的价格数目:265
太高了!
请输入你猜测的价格数目:253
恭喜你答对了,实际价格是 253
你总共猜测了 6 次
[root@localhost ~]# vi test.sh
#!/bin/bash
n=1
while (($# > 0))
do
echo \$$n is $1 && ((n++))
shift
done
[root@localhost ~]# vi showday.sh
#!/bin/bash
Result=0
while (($# > 0))
do
Result=$((Result+$1))
shift
done
echo "The sum is : $Result“
[root@localhost ~]# ./sumer.sh 12 34 56
The sum is : 102
#!/bin/bash
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "您输入的是 字母。"
;;
[0-9])
echo "您输入的是 数字。"
;;
*)
echo "您输入的是 空格、功能键或其他控制字符。"
esac
[root@localhost ~]# ./hitkey.sh
请输入一个字符,并按Enter键确认:k
您输入的是 字母 k 。
[root@localhost ~]# ./hitkey.sh
请输入一个字符,并按Enter键确认:8
您输入的是 数字 8 。
[root@localhost ~]# ./hitkey.sh
请输入一个字符,并按Enter键确认:^[[19~
您输入的是 空格、功能键或其他控制字符。
[root@localhost ~]# cat test.sh
read -p "请输入您的分数(0-100):" GRADE
case "$GRADE" in
100|9[0-9]|8[5-9])
echo "$GRADE 分!优秀"
;;
8[0-4]|[67][0-9])
echo "$GRADE 分,合格" #大于等于85小于等于100
;;
*)
echo "$GRADE 分?不合格" #大于等于60小于等于84
;;
esac
[root@localhost ~]# cat /etc/init.d/myprog
#!/bin/bash
# chkconfig: - 90 10 #用于chkconfig识别的配置
# description: Startup script for sleep Server
case "$1" in #根据$1传入的控制指令分别执行不同操作
start)
echo 正在启动$0服务
;;
stop)
echo 正在停止$0服务
;;
restart|reload)
$0 stop
$0 start
;;
*)
echo "用法: $0 {start|stop|restart}"
esac
#!/bin/bash
adder() {
echo $(($1 + $2))
}
adder 12 34
adder 56 789
[root@localhost ~]# ./adderfun.sh
46
845
mysqlpass()
{
mysql -u root -e "use test;"
if (($?==0))
then
mysqladmin -uroot password ‘123‘ && echo "mysql密码修改成功"
else
echo "mysql无法修改密码"
exit 1
fi
}
checkRPM() {
for i #就是for i in $@获取所有位置参数
do
if ! rpm -q "$i" &> /dev/null
then
echo "please wait a moment"
yum install "$i" -y &> /dev/null
echo "$i install ok"
else
echo "$i is installed"
fi
done
}
checkRPM httpd mysql mysql-server php php-mysql
[root@localhost ~]# ./test.sh
httpd is installed
please wait a moment
mysql install ok
please wait a moment
mysql-server install ok
please wait a moment
php install ok
please wait a moment
php-mysql install ok
checkRPM() {
for i #就是for i in $@获取所有位置参数
do
if ! rpm -q "$i" &> /dev/null
then
echo "please wait a moment"
yum install "$i" -y &> /dev/null
echo "$i install ok"
else
echo "$i is installed"
fi
done
}
checkRPM $@
[root@localhost ~]# ./22.sh httpd mysql mysql-server php php-mysql
httpd is installed
please wait a moment
mysql install ok
please wait a moment
mysql-server install ok
please wait a moment
php install ok
please wait a moment
php-mysql install ok
[root@localhost ~]# cat test1.sh
func() {
rpm -q sadfsdf &> /dev/null
echo ‘$?‘ is $?
ls /etc/passwd
}
func
echo func exit status is $?
[root@localhost ~]# bash test2.sh
$? is 1
/etc/passwd
func exit status is 0
[root@localhost ~]# cat test2.sh
func() {
ls /etc/passwd
echo ‘$?‘ is $?
rpm -q sadfsdf &> /dev/null
}
func
echo func exit status is $?
[root@localhost ~]# bash test2.sh
/etc/passwd
$? is 0
func exit status is 1
addUser()
{
for i in $@
do
if [[ $i == haha ]]; then
return 14 #return指定退出状态,后面的语句不会执行
else
useradd $i
fi
done
}
addUser $@
echo $?
[root@localhost ~]# ./test.sh xixi haha hehe
14
[root@localhost ~]# grep hehe /etc/passwd
[root@localhost ~]# #hehe没有创建
[root@localhost ~]# cat test.sh
func ()
{
du -sh $1 | tr -d ‘\t‘| cut -d‘/‘ -f1
}
size=$(func $1) #直接将函数的输出赋值给变量
echo $1目录占用空间是:$size
[root@localhost ~]# ./test.sh /etc
/etc目录占用空间是:33M
[root@localhost ~]# ./test.sh /usr/local
/usr/local目录占用空间是:140K
num1(){
for i in $(seq $1) ; do
echo -n 1
done
}
num2(){
((j=32-$1))
for i in $(seq $j) ; do
echo -n 0
done
}
a=$(num1 $1)
b=$(num2 $1)
echo $a$b
func ()
{
echo a is $a
b=100
}
a=200
func
echo b is $b
func ()
{
echo a is $a
local b=100
}
a=200
func
echo b is $b
source /opt/lib.sh
exprot -f port #将函数输出为全局函数
[root@localhost ~]# exp1
61
57
81
51
51
65
31
连续成功7次
[root@localhost ~]# exp1
连续成功0次
[root@localhost test4]# exp1
23
连续成功1次
[root@localhost test4]# exp1
85
46
74
97
连续成功4次
[root@localhost ~]# vi hello.sh
#!/bin/bash
who | grep -v ^root | tr -s ‘ ‘ | cut -d ‘ ‘ -f1,2 > file1
while read user tty
do
echo "$user : Hi , I‘m Root!" > /dev/$tty
done < file1
***Menu***
1. Display disk space
2. Display interface information
3. Display memory usage
0. Exit menu
Enter option: 4
Sorry,wrong selection
Press any key to continue
***Menu***
1. Display disk space
2. Display interface information
3. Display memory usage
0. Exit menu
Enter option:
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda2 367G 9.6G 339G 3% /
tmpfs 1.9G 124K 1.9G 1% /dev/shm
/dev/sda1 97M 30M 63M 33% /boot
Press any key to continue
先停止FTP服务,然后故意改错FTP的配置文件
[root@localhost ~]# service vsftpd stop
关闭 vsftpd: [确定]
[root@localhost ~]# echo dsalkjf >> /etc/vsftpd/vsftpd.conf
[root@localhost ~]# ./test.sh smb vsftpd httpd
smb 状态正常
500 OOPS: missing value in config file for: dsalkjf
vsftpd服务有问题
httpd 状态正常
[root@servera test5]# ./test.sh httpd samba 服务名称错误
httpd重启后已经ok
samba服务不存在,请检查问题
[root@localhost ~]# ./test.sh 21
vsftpd正在侦听:tcp21端口
[root@localhost ~]# ./test.sh 980
rpcbind正在侦听:udp980端口
[root@localhost ~]# ./test.sh 53
53端口没有侦听
2013年 07月 18日 星期四 08:40:00 CST
[root@servera opt]# ./time.sh
离上午上课还差0小时5分钟
[root@servera opt]# date -s 845
2013年 07月 18日 星期四 08:45:00 CST
[root@servera opt]# ./time.sh
上午上课时间到,躁起来,娭毑们
[root@servera opt]# date -s 1121
2013年 07月 18日 星期四 11:21:00 CST
[root@servera opt]# ./time.sh
离中午吃饭时间还有0小时24分钟
[root@servera opt]# date -s 1145
2013年 07月 18日 星期四 11:45:00 CST
[root@servera opt]# ./time.sh
开饭喽,同志们冲啊
[root@servera opt]# date -s 13:01
2013年 07月 18日 星期四 13:01:00 CST
[root@servera opt]# ./time.sh
午休,离下午上课时间还有0小时59分钟
[root@servera opt]# date -s 1539
2013年 07月 18日 星期四 15:39:00 CST
[root@servera opt]# ./time.sh
离放学时间还有1小时51分钟
标签:space 大于 list 程序 dea $2 menu 等于 shm
原文地址:https://www.cnblogs.com/qluzzh/p/10322536.html