shell脚本的简单应用
创建时间:2022-04-10-23:25
说明:对shell语法进行简单的练习
修改时间:
修改内容:
1. Shell 环境
Linux 下 Shell 种类很多,目前常用的是 Bourne Again Shell(/bin/bash)
1.1 编写第一个 shell 脚本
创建一个 .sh 扩展名的文件,并将 #!/bin/bash 写在第一行
1.2 运行 shell 脚本
运行 shell 脚本前,要把 .sh 文件的权限改为可执行
chmod 777 my.sh
运行方式有以下 2 种:
- 使用 ./文件名.sh 执行(前提:.sh 文件第一行必须写 “ #!解释器路径 ” )
例如:./my.sh
- 使用 “ 解释器路径 文件名.sh ” 执行( .sh 文件第一行可以不用写 “ #!解释器路径 ” )
例如:/bin/bash my.sh
2. Shell 输出与输入
2.1 echo输出
echo 命令用于字符串的输出,命令格式和实例如下:
echo 命令格式:
echo "string"
在 my.sh 中编写如下内容(更正:字符串最好用" "引住)
执行 my.sh
2.2 read 输入
read 命令是从标准输入中读取一行,并把输入行的值指定给 shell 变量,格式和实例如下:
read 命令格式:
read 变量
read -p "提示信息" 变量
格式1 — read 变量
在 my.sh 中编写如下内容 (更正描述:$表示访问 name 变量存储的值)
执行 my.sh
格式2 — read -p “提示信息” 变量
在 my.sh 中编写如下内容
执行 my.sh
3. 数学计算
shell 只支持整型数值的计算,比如:加、减、乘、除,命令格式和实例如下:
命令格式:
命令格式:
((计算表达式))
实例:
在 my.sh 中编写如下内容
执行 my.sh
4. 条件和循环命令
4.1 if 命令
在 shell 中 if 命令分为 3 种,分别是 if 、if…else 和 if…elseif…else,具体命令格式如下:
/*if命令格式*/
if condition;
then
command1
command2
...
commandN
fi
/*if...else命令格式*/
if condition;
then
command1
command2
...
commandN
else
command
fi
/*if...elseif...else命令格式*/
if condition1;
then
command1
elif condition2;
then
command2
else
commandN
fi
实例 — if…else命令格式
在 my.sh 中编写如下内容
执行 my.sh
其他格式用法一致,故不列实例出来了
4.2 case 命令
命令格式:
/*case...esac命令格式*/
case 值 in
模式1)
command1
command2
...
commandN
;;
模式2)
command1
command2
...
commandN
;;
esac
实例:
在 my.sh 中编写如下内容
执行 my.sh
4.3 for 命令
命令格式:
/*for命令格式*/
for((初始值;限制值;执行步长))
do
//循环代码块
done
实例:
在 my.sh 中编写如下内容
执行 my.sh
4.4 while 命令
命令格式:
/*while 命令格式*/
while condition
do
command
done
实例:
在 my.sh 中编写如下内容
执行 my.sh
5. 函数命令
命令格式:
/*命令格式*/
function fname()
{
//函数代码块
}
函数调用:
/*调用格式*/
fname
函数参数:
在调用函数时可以向其传递参数,在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数
实例:
在 my.sh 中编写如下内容
执行 my.sh
附:函数特殊参数介绍
6. test 测试命令
test 命令用于检查某个条件是否成立,可以用于数值、字符串和文件三个方面的检查。
备注:由于命令较多,本章实例均从Shell 教程 | 菜鸟教程截图过来的,没有亲自敲过
6.1 数值测试
6.2 字符串测试
6.3 文件测试
以上,就是shell脚本的简单应用了,若在后续学习中发现存在错误或需要补充的地方,会同步更新的