前言
自我感觉学习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 命令用于从标准输入读取数值<strong style= "font-size: 13px; font-family: "PingFang SC", "Helvetica Neue", Helvetica, Arial, sans-serif" >参数说明:< /strong > |
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新开启的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)