Linux Bash Shell 脚本编写
Linux Bash Shell 脚本编写
Supermini233&> /dev/null
可放于echo末尾用于保持桌面整洁
shell脚本
创建文件时在末尾添加 .sh
在文件中首行写入#!/bin/bash后正常输入命令
保存后可使用sh +路径执行
也可给该文件添加执行权限x
直接输入该路径即可执行
read [用户输入数据] [变量名]:让用户输入数据并赋值到该变量(可在输入数据前加-p ”信息”,在输入数据时显示信息)
let 变量名++/–:使变量自增/自减1
参数
‘$#:’ 参数数量总和
‘$*:’ 所有参数
‘$?:’ 显示上一次命令的执行返回值
‘$num:’ 对应位置为第num的参数
测试语句
格式: 条件表达式
1 | -d:测试文件是否为目录类型 |
若判断结果为真则返回0,若判断结果为假则返回其他非零值
例:
1 | [ -d /etc/abcde ] |
若该文件为目录类型则会输出
1 | 0 |
若该文件不为目录类型则会输出其他非零值
整数比较:
1 | 格式:[ num1 运算符 num2 ] |
如遇到报错”[: -gt: unarg operator expected”可用a=$((a))将变量转换为整数类型
字符串比较:
- =:比较字符串内容是否相同(!=为不同)
- 例:[ $a = $b ]:若相同则返回值为非零值,若不同则返回非零值
- -z:判断字符串内容是否为空
- 例:[ -z $a ]:若字符串为空则返回0,若不空则返回非零值
逻辑语句:
- 一般基于测试结果进行,跟在测试语句后
- 逻辑与:&&:在测试结果为真时才会执行
- 例:[ -d /etc/a ] && echo “执行成功”
- 若判断为假则不会有输出,若判断为真则会输出执行成功
- 逻辑或:||:在测试结果为假时才会执行
- 逻辑非:! : 将判断结果取反,直接加在条件表达式的首位
if条件测试语句:
单分支:
1 | if[条件]为0则执行,不为0则不执行 |
双分支:
1 | if[条件] |
多分支:
1 | if[条件] |
在条件中判断为0后会执行对应的then后的命令
for循环:
1 | for [变量] in [取值列表] |
不解释
可配合cat遍历列表文件的所有行
1 | for a in $(cat “./列表文件") |
while循环:
while 条件测试操作
1 | do |
用exit 0跳出循环
1 | case: |
例:
read输入字符
1 | case "输入的字符" in |
评论
匿名评论隐私政策