Shell编程,基础知识总结!

一、shell
1、创建文件设置权限

① touch kb0802.sh
② chmod u+x kb0802.sh
1)#!/bin/bash
2)echo 'hello world'
3:x
③ ./kb0802.sh

在这里插入图片描述
2、变量类型及创建变量
① 系统变量 set方法显示所有系统变量
常用系统变量如下:

$PATH $PWD $USER $UID $HOME $HOSTNAME

②自定义变量
  1)数据类型:
     a. 弱类型(通常为字符串、数值)
     b. 数组(【val1,…,valn】)
  2)声明变量:VAR=VALUE
     a. 变量命名组成规则同java常量
     b. =两侧不能有空格
③ 赋值
     a. A=133
     b. A=henry ‘Henry Chen’ “1 and 2”
在这里插入图片描述

     c. A=la -la(此处加模板字符串,因打不出来,可参照下图)<=> A=$(ls -la)

在这里插入图片描述
在这里插入图片描述

④ 取消变量:unset VAR

3、变量的作用域
 a. 环境变量:跨SHELL访问
 b. 全局变量:当前SHELL中访问
    a) 每个SHELL会话都是独立进程拥有独立PID,不同的SHELL会话之间不会相互交叉影响
    b) 函数中的变量more也是全局变量
 c. 局部变量:当前函数中访问
    a) 函数中声明局部变量:local A=5
 d. 预定义变量
    a) $? 最后一次执行命令的返回状态 0表示正常,其他表示异常
    b) $$ 当前进程的进程编号PID
    c) $!后台运行的最后一个进程编号PID
在这里插入图片描述
在这里插入图片描述
4、输出参数

V=$(ls -l|tr -s ' '|cut -d ' ' -f9)
for v in $V
do
 echo $v
done
echo $0
echo $1
echo $2

#输出参数数量
echo '参数数量:'$#

for v in $@
do 
 echo $v
done

在这里插入图片描述
5、控制台输入
① read -t SECONDS -p “提示” VAR
1)-t 超时(秒)
2)-p 提示
3)VAR 控制台输入值赋值的变量
(此处结合后续条件表达式一起举例)

6、运算符

①	算数运算符(+ - *% =  ==  !=)和算数表达式
1)运算符:同JAVA
2)表达式
a.	$((EXP))		S=$((2+3))
b.	$[EXP]		S=$[2*3]
c.	expr EXP		分布计算
注意:\*表示乘法,其他相同,运算符前后必须加空格
d.	let 简单表达式
②	关系运算符和条件表达式 condition 前后有空格
通常选择b方式
1[ condition ]		-eq -ne -gt -lt -ge -le
2)test condition		同上
3[[ condition ]]		同上
③	逻辑运算符
1)!	非
2-o	或
3-a	且

7、逻辑控制

①	分支结构
if [ condition ];then
语句块
fi 

if[ condition1 ]
then
语句块
elif[ condition2 ]
then
语句块
else
语句块
fi

case $VAR in
V1)
语句块
;;
V2)
语句块
;;
*)
语句块
;;
esac

②	循环
for VAR in val1...valn
do
语句块
done

for((初始化;条件;变化))
do
语句块
done

while[ condition ]
do
语句块
done

例一
在这里插入图片描述
在这里插入图片描述
例二
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值