#!/bin/bash
x=$[RANDOM%10+1]
while read -p "please your number1-10:" num;do
#echo $num
if [ "$num" -eq "$x" ];then
echo your gueess right.
break
elif [ "$num" -lt "$x" ];then
echo letter
else
echo more
fi
done
2.棋盘
#!/binbash
red="\033[41m"
blue="\033[44m"
cloend="\033[0m"
#echo -e "$red $cloend"
for j in {1..8};do
if [ $[j%2] -eq 1 ];then
for i in {1..8};do
if [ $[i%2] -eq 1 ];then
echo -e "$red $cloend\c"
else
echo -e "$blue $cloend\c"
fi
done
elif [ $[j%2] -eq 0 ];then
for k in {1..8};do
if [ $[k%2] -eq 0 ];then
echo -e "$red $cloend\c"
else
echo -e "$blue $cloend\c"
fi
done
fi
echo
done
3.九九乘法表
#!/bin/bash
for i in {1..9};do
for j in $(seq $i);do
let k=i*j
echo -e "$i x $j = $k\t\c"
#echo -e "${j}x$i=$[j*i]\t\c"
done
echo
done
#!/bin/bash
declare -a arry
read -p "plaeas input some numbers: " -a arry
for((c=1;c<=${#arry[@]};c++));do
for i in $(seq 1 $[${#arry[*]}-1]);do
if [ ${arry[$[$i-1]]} -gt ${arry[$i]} ];then
#两个数用异或对调
let arry[$[$i-1]]=arry[$[$i-1]]^arry[$i]
let arry[$i]=arry[$[$i-1]]^arry[$i]
let arry[$[$i-1]]=arry[$[$i-1]]^arry[$i]
fi
done
done
echo ${arry[@]}
8.等腰三角形
#!/bin/bash
read -p "Please input the length: " n:
for i in `seq 1 $n`
do
for((j=$n;j>i;j--))
do
echo -n "@"
done
for k in $(seq 1 $[2*$i-1]);do
echo -n "*"
done
echo
done
9.生成证书和授权
#!/bin/bash
dir=/etc/pki/CA
# 建立CA
ca_build(){
umask 077 &&
openssl genrsa -out ${dir}/private/cakey.pem 4096 &&
openssl req -new -x509 -key ${dir}/private/cakey.pem -out ${dir}/cacert.pem -days 365 <<EOF
Country Name(2 letter code)
State or Province Name
Locality Name
Organization Name(eg, company)
Organizational Unit Name
Common Name
Email Addres
EOF
touch ${dir}/index.txt &&
echo 01 > ${dir}/serial &&
echo ca build successful.
}
# 申请证书
ca_apply(){
umask 066 &&
openssl genrsa -out /data/test.key 1024
openssl req -new -key /data/test.key -out ${dir}/test.csr <<EOF
Country Name(2 letter code)
State or Province Name
Locality Name
Organization Name(eg, company)
Organizational Unit Name
Common Name
Email Addres
EOF
#scp /data/test.csr CAServer:/data/
echo ca apply successful.
}
# 颁发证书
ca_issue(){
openssl ca -in ${dir}/test.csr -out /etc/pki/CA/certs/test.crt -days 100 <<EOF
y
y
EOF
echo ca issue successful.
}
#帮助
help_info(){
cat <<EOF
-b : build ca
-a : apply ca
-i : issue ca
-A : do all
EOF
main(){
if [ $# -eq 0 ];then
help_info
exit 1
fi
while getopts "baiA" flag;do
case $flag in
b)
ca_build
;;
a)
ca_apply
;;
i)
ca_issue
;;
A)
ca_build
ca_apply
ca_issue
;;
*)
help_info;;
esac
done
}
main $*