Shell脚本和编程 | 青训营笔记

74 阅读2分钟

Shell 脚本和编程

01Shell 基本概念

shell command interpreter,处理来自终端模拟器的输入,解释执行之后输出结果给重点。

解释器:bash内置命令、GNU核心工具集、第三方库

编程语言:变量、运算符和引用、重定向、判断命令(test、[、[[)

111.png

02命令和语法

自定义变量

(只能在父进程用到)

环境变量

系统环境变量

222.png

配置文件加载

通过系统用户登录默认运行的shell

非登录交互式运行shell

执行脚本运行非交互式shell

如果取得 bash 需要完的登录流程,我们称之为 login shell,比如 ssh 远程登录一台主机不需要登录的bash 我们称为 non-login bash,比如在原来的 bash 中执行 bash开启子进程.执行一些外部命令如果修改了配置文件,不会立即生效,需要我们重启终端或者执行 source 命令 循环、函数、命令(grep筛选;tail)

xgarg标准输入转化为参数列表

03执行过程和原理

执行 1、shell脚本以.sh结尾 #! /bin/bash 2、启动方式 ./filename.sh bash ./filename.sh source ./filename.sh

1、字符解析 识别换行符、分号做行的分割 识别命令连接符做命令的分割 识别空格、tab符,做命令和参数的分割 2、shell展开 a大括号展开{...} a{b,c}e=>abe ace {1..5}=>1 2 3 4 5 b波浪号展开 c参数展开

04调试shell版本和前端集成

1、普通log echo printf

2、使用set命令

3、vscode debug插件 shellman shell check shell-format bash debug

前端集成

1、node中通过exec调用shell

2、借助zx等库进行js、shell script的融合

借助shell完成系统操作,文件io、内存、磁盘系统

3、重定向

333.png