前言
自我感觉学习shell要常用`man`,`--help`这样挺方便去写的,光靠熟练远远不够的
#!/bin/bash wget命令 我用到最多就是请求http网站啦,一般很少加参数 set -x url(){ timeout=6 fail=0 success=0 while true do wget --timeout=$timeout --tries=1 https://www.cnblogs.com/zqxFly/ -q -o /dev/null if [ $? -ne 0] then let fail=fail+1 else let success+=1 fi if [ $success -ge 1] then echo success exit 0 fi if [ $fails -ge 2] then ttry="sys is dowm" echo $ttry|tee|mail -s "https://www.cnblogs.com/xxx" exit 2 fi done } url wget 接http link expr 命令是一个手工命令行计数器 1.结合match进行整数判断 if [[`expr match "$1" "[0-9] [0-9]*$"` == 0 ] ] then echo "$1 is not a num" else echo "$1 is a num" fi 2.判断字符 expr $1 + 1 >/dev/null 2>&1 [ $? -eq 0 ] &&echo int || echo chars while true do read -p "hello adol":a expr $a + 0 >/dev/null 2>&1 [ $? -eq 0 ] && echo int || echo chars done 3.整数运算[ $# -ne 2 ] &&{ echo $"usage $0 num1 num2" exit 1 } a=$1 b=$2 expr $a + $b + 110 &>/dev/null if [ $? -ne 0 ] then echo "you must two nums" exit fi echo "a-b=$(($a-$b))" echo "a+b=$(($a+$b))" echo "a*b=$(($a*$b))" echo "a/b=$(($a/$b))" echo "a**b=$(($a**$b))" echo "a%b=$(($a%$b))" bc 命令是任意精度计算器语言 bc(选项)(参数) 通过管道符 echo "1.11+2" | bc 直接输入bc read命令用于从标准输入读取数值
read -p "name:"
echo "shuchu $name"
if read -t 5 -p "ipnut website name:"
then
echo "输入网站名 $website"
else
echo "\n超时了"
fi
exit 0
参数说明:
- -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。
- -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。
- -p 后面跟提示信息,即在输入前打印提示信息。
- -e 在输入的时候可以使用命令补全功能。
- -n 后跟一个数字,定义输入文本的长度,很实用。
- -r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了。
- -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。
- -t 后面跟秒数,定义输入字符的等待时间。
- -u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。