Appearance
Shell是一种脚本语言,又是一种命令语言。可以通俗一点来讲,Shell脚本就是一系列命令的集合,可以在Unix/linux上面直接使用,也可以写一些常用的小工具,小脚本来实现想要的功能,实现自动化运维。
HelloWord
第一行是解释器这是必不可少的,后面#开头的都是注释信息,一般为作者信息,echo是输出语句
shell
#!/bin/env bash
# Description: /mybin/myvim scripts
# Auth: CV大魔王
# Email: 199301983@qq.com
# Date: 2022-08-08 13:36
# Version: 1.0
echo "HelloWord!!!"变量的定义及使用
定义:
- 直接赋值:a=tmp,a是变量名,tmp是值,注意这种定义方式不可有空格
- 单引号赋值:a='Hello World',这种方式可以有空格
- 双引号赋值:这种方式也可以有空格,同时会解析引号内的变量或执行命令。
使用:$变量名
删除:unset 变量名称
Shell数组
直接定义:每个元素使用空格分割,Shell 是弱类型的,数组中元素的类型可以不一样
shellarray1=(1 2 3 "hello Shell")单元素定义:Shell 中数组下标从 0 开始,利用单个元素来定义数组。
shellarray2[0]=1 array2[1]=2 array2[2]="hello Shell"获取单个元素:
${array1[0]}获取全部元素:
${array1[*]}或${array1[@]}获取数组长度:
${#array1[*]}或${#array1[@]}修改单个元素:和单元素定义相同,
array2[0]=2删除数组元素:
unset array1[3],删除对应下标的数组元素,如果不带下标则删除数组的全部元素数组截取:
${array1[*]:0:2},从第1个元素往后2个元素进行截取
Shell函数
函数的定义如下:function 可以省略,下面是标准写法
shell
function 函数名() {
// 你的逻辑
echo "当前用户为:$USER"
return 0
}调用函数
shell
函数名 参数1 参数2 参数3函数获取参数
shell
function f1() {
echo "函数的第一个参数为: ${1}"
echo "函数的第二个参数为: ${2}"
echo "函数的第三个参数为: ${3}"
}
# 调用函数
f1 1 2 3特殊参数
在 Shell 中也存在特殊含义的参数如下表:
| 变量 | 含义 |
|---|---|
| $# | 传递给函数的参数个数总和 |
| $* | 传递给脚本或函数的所有参数,当被双引号 " " 包含时,所有的位置参数被看做一个字符串 |
| $@ | 传递给脚本或函数的所有参数,当被双引号 " " 包含时,每个位置参数被看做独立的字符串 |
| $? | $? 表示函数的退出状态,返回为 0 为执行成功,非 0 则为执行失败 |
