Linux -- shell
shell
定义
用户和内核之间沟通的桥梁,即是命令行解释器,又是脚本编程语言
作用
shell负责接收用户输入的命令,翻译成内核看得懂的指令,并执行操作提供文本界面,让系统通过命令跟用户沟通
命令分类
内置命令 如cd,echo,pwd无需调用外部程序,直接由解释器执行
外置命令 ls grep 查找调用对应的可执行程序
编程
创建文件
1 创建脚本文件 vi***.sh
2 提升文件权限 chmod 777 ***.sh
3 执行该文件 ./***.sh
变量操作
定义:变量不需要加类型,直接写变量名,且不要加空格 例:c=10
使用:使用变量的数据,需要在变量名前加$
输入变量:read 变量名
取消变量:unset 变量名
只读变量:readonly 变量名(不可修改、不可取消)
引号区别
-
双引号 "":解析变量,需用
${}避免拼接歧义 -
单引号 '':原样输出,不解析任何变量


字符串操作
-
取长度:
${#str} -
从某位置截取:
${str:起始:长度} -
从某位置截到尾:
${str:起始} -
从倒数位置截取:
${str:-n}或${str:(-n)}


Shell 预定义变量
-
$0:脚本 / 命令名 -
$1~$9:第 1~9 个参数 -
$@:所有参数(不含 $0) -
$#:参数个数 -
$$:当前进程 ID
算术运算
-
命令:
expr -
规则:运算符两边必须有空格
-
乘法需转义:
\* -
示例:
expr $a + $b、expr $a \* $b

常用判断运算符
1. 数值关系
-
-eq等于 格式:$a - eq$b -
-ne不等于 格式:$a - ne$b -
-gt大于 -
-ge大于等于 -
-lt小于 -
-le小于等于 -
-a并且 -
-o或者
2. 文件判断
-
-e存在 -
-f普通文件 -
-d目录 -
-r可读 -
-w可写 -
-x可执行 -
-b块设备 格式: -b 文件名 -
-ot比… 旧 格式:文件1 -ot 文件2 -
-nt比… 新 格式:文件1 -nt 文件2
if 条件语句
1 单分支
if 条件 then 语句 fi
2 双分支
if 条件 then 语句1 else 语句2 fi
3 多分支
if 条件1 then 语句1 elif 条件2 then 语句2 else 语句3 fi
测试语句写法
-
test 条件 -
[ 条件 ]
循环指令
while 循环
-
作用:条件为真时,重复执行代码
-
格式
while 测试条件 do 循环代码 done
-
常用搭配:
test或[ ]判断
until 循环
-
作用:条件为假时执行,直到条件变真才停止
-
格式
until 测试条件 do 循环代码 done
for 循环
-
作用:遍历列表 / 参数,依次执行
-
格式
for 变量 in 列表/参数 do 循环代码 done
更多推荐




所有评论(0)