Shell语言开发基础模板
2022/8/16 5:22:57
本文主要是介绍Shell语言开发基础模板,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
内容概要
-
基础阶段
脚本处理/测试 变量 操作符 分支结构之if分支 分支结构之case分支 循环结构之while循环 循环结构之for循环 函数
脚本处理/测试
#脚本处理 window 回车是 \r\n linux 回车是 \n yum install -y dos2unix (软件) 命令:dos2unix 脚本名 -------处理 #脚本测试: sh -x 与 set -x(开始) set +x(结束) 显示脚本执行过程
变量
1.局部变量:只在一个范围内使用(普通变量) File=`ls -l /root` echo ${File} 2.全局变量:在整个linux中适用(环境变量) echo $PATH /opt/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin \#临时添加一个全局变量 export File=`ls -l /root` 检查 env |grep File \#永久添加一个全局变量 echo 'export File=`ls -l /root' >>/etc/profile && source /etc/profile 命令:(检查)env |grep NAME File=`ls -l /root 3.特殊变量:位置变量及进程状态变量 $0 脚本的名字 $1 第一个参数 $2 第二个参数 $# 参数的总个数 全部在一起吐出来 [email protected] 参数的总个数 $? 上一次命令是否执行正确 0(正确) 非0(错误)
操作符
1.文件目录判断操作符 判断/root目录是否存在 (判断) [ -d /root ] 判断/root/oldboy.txt文件是否存在 (判断) [ -f /root/oldboy.txt ] 2.比较大小 [ 1 -eq 1 ] equal == [ 2 -ne 1 ] not equal != [ 2 -gt 1 ] great than > [ 2 -ge 1 ] great equal >= [ 2 -lt 10 ] less than < [ 2 -le 10 ] less equal <= 3.字符串判断操作符 -z用法(字符串长度为0)真 [ -z "" ] ! [ -z "haha" ] -n用法(字符串长度非0)真 [ -n "haha" ] ! [ -n "" ] 4.逻辑操作符 -a 与and,两端都为真则真 -o 与or,有一个真则真 !非not,相反则为真 [[email protected] ~]# [ 1 -le 2 -a 2 -gt 1 ] && echo "成立" || echo "不成立" 成立 [[email protected] ~]# [ 1 -le 2 -a 1 -gt 1 ] && echo "成立" || echo "不成立" 不成立 [[email protected] ~]# [ 1 -le 2 -o 1 -gt 1 ] && echo "成立" || echo "不成立" 成立 [[email protected] ~]# [ 1 -le 2 -o ! 1 -gt 1 ] && echo "成立" || echo "不成立" 成立 [[email protected] ~]# [ ! 1 -le 2 -o ! 1 -gt 1 ] && echo "成立" || echo "不成立" 成立
分支结构之if分支
1.单分支语句 if [条件] ;then 命令语句 fi 2.双分支语句 if [条件] then 命令语句1 else 命令语句2 fi 3.多分支语句 if [条件] then 命令语句 elif [条件] then 命令语句 elif [条件] then 命令语句 else 命令语句2 fi
分支结构之case分支
case $1 in start) 启动命令 stop) 停止命令 restart) 停止命令 sleep 1 启动命令 *) echo "USAGE: sh $0 start|stop|restart" esac
循环结构之while循环
while 条件 do 命令语句 done 例子:(let 计算) 计算1到100的和 i=1 sum=0 while [$i -le 100] ; then do let sum=sum+$i let i++ done echo $sum
循环结构之for循环
for i in 用于循环的条件 do 条件 done 例:continue(条件满足时退出本次循环,接着执行下一个循环) \#!/bin/bash for i in {1..5} do if [ $i -eq 3 ] ;then continue fi echo $i done echo "ok"
函数
#设置函数 function 函数名 { 命令语句 } #调用函数 函数名 例子: function checkZabbix { Zabbixcheck=`cat /etc/passwd |grep zabbix |wc -l` if [ "$Zabbixcheck" -eq 1 ];then if [ -f "$scriptsfile" ];then sh "$scriptsfile" return 0 else echo "ScriptsFile Inexistence" return 1 fi fi } checkZabbix
这篇关于Shell语言开发基础模板的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行
- 2024-05-08阿里云域名注册流程,分享给第一次购买域名的新手站长!