shell脚本编程常见系统变量和环境变量,shell脚本常用流程控制语句

shell编程常见系统变量

命令功能
$0当前脚本名称
$?命令或程序执行完后的状态,返回0则表示执行成功
$n当前脚本的第n个参数,n=1,2,…9
$#当前脚本的参数个数(不包括程序本身)
$*当前脚本的所有参数(不包括程序本身)
$$程序本身的PID号

shell编程常见环境变量

命令功能
PATH命令所示路径,以冒号为分割
PWD显示当前所在路径
USER打印当前用户名
ID打印当前用户id信息
TERM打印当前终端类型
HOME打印用户家目录

if条件语句

格式:
if(表达式)
语句 1
else
语句 2
fi
if常见的判断逻辑运算符

命令功能
-f判断文件是否存在,例如:if [-f filename]
-d判断目录是否存在,例如:if [-d dir]
-eq等于,应用于整型比较,即 equal
-ne不等于,应用于整型比较,即 not equal
-lt小于,应用于整型比较,即letter
-gt大于,应用于整型比较,即greater
-le小于或等于,应用于整型比较
-ge大于或等于,应用于整型比较
-a双方都成立(and),逻辑表达式
-o单方成立(or),逻辑表达式
-z空字符串
丨丨单方成立
&&双方都成立

if判断括号区别

样式功能
()用于多个命令组、命令替换、初始化数组
(())整数扩展、运算符、重定义变量值,算数运算比较
[ ]bash内部命令,“[”与test是等同的,正则字符范围、引用数组元素编号,不支持“+”、“-”、“*”、“/”数学运算符,逻辑测试使用-a,-o
[ [ ] ]bash程序语言关键字,不是一个命令,[ [ ] ]结构比[ ]结构更加通用,不支持“+”、“-”、“*”、“/”数学运算符,逻辑测试使用&&、 丨丨
{ }主要用于命令集合或者范围,例如:mkdir -p /data/201{7,8}/

for循环语句

格式:
for var in (表达式)
do
语句1
done
案例:for循环求1~100的总和

#!/bin/bash
j=0
for ((i=1;i<101;i++))
do
j=`expr $i + $j`
done
echo $j

while循环语句

格式:
while (表达式)
do
语句1
done
案例:
while循环求1~100的总和

#!/bin/bash
j=0
i=1
while ((i<101))
do
j=`expr $i + $j`
((i++))
done
echo $j

case选择语句

格式:
case $1 in
Pattern1)
语句1
;;
Pattern2)
语句2
;;
Pattern3)
语句3
;;
esac
案例:自动修改IP脚本菜单

#!/bin/bash
case $i in 
modify_ip)
change_ip
;;
modify_hosts)
change_hosts
;;
exit)
exit
;;
*)
echo -e "1) modify_ip\n2) modify_ip\n3) exit"
exac
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值