Shell脚本
程序员文章站
2022-09-27 19:20:41
执行Shell 1. 输入完整脚本文件路径即可执行。 提示:权限不够,则执行 。 2. 执行 。 简单的脚本 shell !/bin/bash 上面的是指定解释器 echo $PATH echo 路径输出完毕! echo [ 条件表达式 ] 条件表达式两侧需要各有一个空格。 使用 返回条件表达式结果 ......
执行shell
-
输入完整脚本文件路径即可执行。
提示:权限不够,则执行
chmod u+x 文件名
。 执行
bash shell文件名称
。
简单的脚本
#!/bin/bash # 上面的是指定解释器 echo $path echo 路径输出完毕! echo `date +%y%m%d`
接受输入参数
执行shell文件时,在文件后使用空格隔开多个输入参数。
-
shell文件中使用输入参数
参数 说明 $n 用户输入的第n个参数,从1开始 $# 用户输入的擦书总数 $* 用户输入的所有参数值,使用空格隔开
条件测试语法
-
shell 脚本中的条件测试语法可以判断表达式是否成立,
若条件成立则返回数字 0,否则便返回其他随机数值。
语法格式:
[ 条件表达式 ]
- 条件表达式两侧需要各有一个空格。
- 使用
$?
返回条件表达式结果。 - 条件表达式可以是变量也可以是具体的值。
-
&&
表示当前面的命令执行成功后才会执行它后面的命令。 -
||
表示当前面的命令执行失败后才会执行它后面的命令。 -
!
示把条件测试中的判断结果取相反值。
测试运算符
运算符 | 说明 |
---|---|
-d | 测试文件是否为目录类型 |
-e | 测试文件是否存在 |
-f | 判断是否为一般文件 |
-r | 测试当前用户是否有权限读取 |
-w | 测试当前用户是否有权限写入 |
-x | 测试当前用户是否有权限执行 |
-eq | 两个数字是否等于 |
-ne | 两个数字是否不等于 |
-gt | 数字a是否大于数字b |
-lt | 数字a是否小于数字b |
-le | 数字a是否等于或小于数字b |
-ge | 数字a是否大于或等于数字b |
= | 比较字符串内容是否相同 |
!= | 比较字符串内容是否不同 |
-z | 判断字符串内容是否为空 |
实例:
[ 1 -eq 2 ] || echo '这个说法是对的'
流程控制语句
if语句
语法:
if 条件测试语句 then 命令... fi
if-else语句
语法:
if 条件测试语句 then 命令... else 命令... fi
case语句
语法:
case 变量值 in 值1) 命令.. ;; 值2) 命令.. ;; ... *) 默认的命令.. ;; esac
-
*
代表不在所列出范围内的值。 - 匹配值可以有多个。
条件循环语句
for循环
语法:
for 变量名 in 取值列表 do 命令... done
- 取值列表可以是命令查出来的值。
- 循环体内可以使用
$变量名
的形式获取当前变量的值。
while循环
语法:
while 条件测试语句 do 命令... done