Linux Shell
回顾:4.23 egrep sed awk
4.24:
shell(脚本语言):由c语言开发出来的一款工具
shell作为小工具,是弱语言(不能作为独立开发用)
强语言:python go java php c
弱语言:shell lua
Shell:从手动到自动化
得先写好做事的逻辑,通过shell执行,作为一个自动化按钮,可重复使用,适用于重复,定时的任务
交互式命令:一次性,即时修改
Shebang:
第一个行:#!告诉系统这是脚本
解释器环境,比如#! /bin/bash 指定用bash执行
一条注释或提示:
把命令装在一个小盒子,直接执行这个盒子
Shell:
变量名=变量值
shell 里面 |
#!/bin/bash: #!表示本文件是一个脚本文件 /bin/bash表示本文件使用的"翻译官"是 /bin/bash类型
变量名=变量值
变量值可以写路径、执行命令、算数运算、可以使用正则表达式
可以通过引用变量名,来输出变量值(echo $变量名)
变量分大小写
引号:“”中间字符串支持变量输出
‘’中间字符串不支持变量输出
特性 双引号 " " 单引号 ' '
变量扩展 ✅ 会解析 $变量、${变量} ❌ 不会解析,原样输出
命令替换 ✅ 会执行 `cmd`或 $(cmd) ❌ 不会执行,当作普通字符串
通配符 ✅ 会解析 *, ?, [abc]等 ❌ 不会解析
转义字符 ✅ \` 可以转义$, ````, ", `` ❌ \` 失去转义作用(仅'和\` 有效)
变量类型:
自定义变量:自己定义 比如a=100(定制a为字符串100) a=\`ls /etc/ | wc -l\`表示引用一段命令执行的结果作为变量值
环境变量:系统自带的
位置变量:$1-$n: 比如awf里$1:代表第一列 也是系统自带
预定义变量:
echo $PATH
$PATH是操作系统的环境变量,它本质上是一个路径列表,告诉终端应该去哪些目录里寻找可执行文件
通常,我们自定义一个可执行文件之后,想要运行这个文件,需要使用绝对/相对路径的方式来执行
但是,如果我们把这个拥有x权限的可执行文件放入$PATH中的任意一个目录下,就可以添加给系统识别
系统能够识别之后,我们就可以不写明路径,直接执行这个可执行的文件
注意:shell变量定义不能有空格,比如a =100
命令的返回值(退出状态码)
在Linux/bash中,每个命令执行后都会返回一个状态码:
$? 特殊变量存储上一个命令的退出状态码
0 表示成功/真
非0 表示失败/假(通常是1) 范围:1-255
更多推荐


所有评论(0)