初识shell
shell | shell script
shell是一种命令解释器,它提供了用户和操作系统之间的交互接口,还有其他的交互接口比如 GUI。
shell script即shell脚本,是一种通过shell执行的编程语言
helloworld
1 | #!/bin/bash |
基本结构
顺序 && 条件 && 循环
1 | # 条件 |
1 | # 遍历当前目录 |
变量
定义
1 | newer=123 |
使用
变量名加”$”前缀
“” 包含的变量会解析
‘’ 包含的变量不解析
“$newer11” 中变量是 newer11 但是实际的变量是 newer, 为了解决这个情况,可以用括号”${newer}11”
环境变量
环境变量(environment variables)一般是指在 操作系统 中用来指定操作系统运行环境的一些参数,如: 临时文件夹 位置和 系统文件夹 位置等。
使用env命令可以输出当前的环境变量
1 | ... |
相对路径和绝对路径
可以参考坐标轴去理解, 通过相对原点可以定位一个点,通过坐标轴上的其它位置也可以定位一个点。只是这个原点这这里就是 / 代表挂载的最顶层的路径,从这里开始算就是绝对路径, 比如/usr/bin/git就是绝对路径
PATH
计算机并不知道如何找到对应的命令,PATH变量就是提供了一组路径,让shell在解释命令时能找到对应的可执行文件
比如git可执行文件在 /usr/bin/git,PATH中有/usr/bin,所以会去这个目录下去匹配,这样才能顺利找到git命令
其他目录
HOME 家目录 ~
当前目录 .
上一级目录 ..
根目录 /
cd - 切回上一个目录 – 通过PATH实现
数据结构: 数值 && 字符串 && 列表
常用字符串分割
获取文件的后缀名
获取文件名
获取目录名
helloworld 的解释
“#!/bin/bash”
首先是 #!, 是魔数(Magic Number),关于魔数,详见扩展部分,是一个标志,代表这个文件是脚本文件,/bin/bash,声明要用哪个可执行文件执行这个文件
echo helloworld
调用 echo “函数” 打印helloworld到显示器
echo -> shell -> OS -> hardware
1 | #include <stdio.h> |
shell解释器
执行shell的脚本的可执行文件
1 | echo $SHELL |
默认的是bash,
可以使用 zsh
终极 Shell——ZSH