您的位置:首页 > 运维架构 > Shell

linux(centos)shell脚本编程详解与基本参数、函数等详解

2020-06-01 04:24 781 查看

创建一个.sh 脚本文件

编辑

// An highlighted block
#!/bin/bash
echo “hello.world”

执行

shell定义变量以及引用

变量定义

// An highlighted block
变量的定义使用  	A=100
输出  echo "A=$A"
消除变量A     unset A
定义静态变量 readonly A=99    注:静态变量不能被unset

赋值语句代码如下

// An highlighted block
A='ls -l'
或
A=$(ls -l)
# 运行‘’里面的命令 并把返回的结果值传给变量A

位置参数变量


具体应用示例

Shell 预定义变量

Shell 运算式

第一种用字母等运算式

第二种用符号运算式

// An highlighted block
Result=[(2+3)*4]
echo "结果=$Result"

判断语句

-lt     小于
-le    小于等于
-eq     等于
-gt     大于
-ge   大于等于
-ne    不等于
-r    判断文件是否有读权限
-w    判断文件是否有写权限
-x    判断文件是否有执行权限
-f     判断文件存在,并且是一个常规文件
-e     文件存在
-d     文件存在 ,并且是个目录

以上配合(if 、 elif 、then 、 fi 判断语句)
演示案例:

案例二
案例三 判断文件是否存在

Case 案例

For循环控制流程

第一类for循环的两种案例(for in 一个对象)

第二类常规 for循环

注意计算式改为如下

// An highlighted block
SUM=$[$SUM+$i]

read 读取控制台的输入


案例:

系统内置常用函数


案例

第一句中 没有设置suffix 可以看到, 结果是把文件名+后缀名返回
第二句中【开启suffix】(,txt)可以看到返回的只有文件名会把文件的的后缀去掉。

函数二 dirname (是返回文件路径的函数)
案例

自定义函数

自定义函数格式如下图所示

一般来讲 shell中的函数不需要传参
案例一

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: