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

62 阅读2分钟

Shell 脚本和编程:

Date: April 17, 2023


学习shell 的价值:

  1. Linux 服务器的基本操作和管理
  2. 前端 Node. js 服务的进程管理、问题排查、资源监控等运维操作
  3. 使用 shell 编写 TCE、SCM、Docker 脚本,完成服务编译和部署



Shell 基础概念

解释器:

bash内置命令:[ echo let read … man builtin

GNU核心工具集:ls mv cat 等 type mv ⇒ /bin/mv

第三方库:node、python 等封装等模块



编程语言:

变量:自定义变量、环境变量、系统环境变量

运算:逻辑运算符、算数运算符

语句:判断、分支、循环




命令与语法

1 .diff:

含义:用来比较两个文件的不同

2.patch

含义: 用来打补丁

3.cut

含义: 多用于字符截取

4.sort

常用参数:

-n :纯数字排序number
-r :倒序排序
-u :去掉重复数字

5.uniq

含义: 对重复字符做相应处理

...




执行过程和原理

shell脚本一般以.sh结尾

第一行需要指定用什么命令解释器来执行:

#! /bin/bash
#! /usr/bin/env bash

启动方式:

# 文件名运行
./filename.sh

# 解释器运行
bash ./filename.sh

# source 运行
source ./filename.sh



调试和前端集成

  1. shellman:代码提示和自动补全
  2. shellcheck: 代码语法校验
  3. shell-ormat:2代码格式化
  4. Bash Debug:支持单步调试 一 安装 vscode 插件 一编写 launch. json文件 一升级bash到4.x以上版本

VSCode配置:

1.安装最新版本 bash

brew install bash
  1. 查看安装路径
which -a bash

  1. 将新版本 bash 路径加入 PATH
PATH="/usr /local/bin/bash: $PATH'

#4. 配置 vscode launch. json 启动文件
{
		"version": "0.2.0",
		"configurations": [
		{
			"type": "bashdb",
			"request": "launch"
			"name": "Bash-Debug (simplest configuration)",
			"cwd": "${workspaceFolder}",
			"program": "debug.sh"
		}
	]
}


前端集成:

  1. node中通过 exec、spawn 调用shell 命令

  2. shell 脚本中调用node 命令

  3. 借助zx 等库进行 javascript、shell script 的融合

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

    一借助 nodejs 完成应用层能力,网络io、计算等

Untitled




课程总结:

Untitled