【字节前端训练营03】Shell 脚本和编程(4) | 青训营笔记

26 阅读1分钟

04 调试和前端集成

调试的方法

  1. 普通log,使用echo、printf
  2. 使用set命令,并配置相应标志位(见下表)
  3. vscode debug插件
set 配置作用补充
-u遇到不存在的变量就会报错,并停止执行。-o nounset
-x运行结果之前,先输出执行的那一行命令。-o xtrace
-e只要发生错误,就终止执行-o errexit
-o pipefail管道符链接的,只要一个子命令失败整个管道命令就失败,脚本就会终止执行。
#! /bin/bash#一般在最前面就进行配置
set -uxe -o pipefail
​
echo "hello world"

Vscode插件配置

  1. shellman:代码提示和自动补全

  2. shellcheck:代码语法校验

  3. shell-format:代码格式化(类似前端的 ESLint 和 Prettier.js)

  4. Bash Debug:支持单步调试

    • 安装vscode插件

    • 编写 launch.json 文件

    • 升级bash到 4.x 以上版本

      # 1. 安装最新版本 bash
      brew install bash
      ​
      # 2. 查看安装路径
      which -a bash
      ​
      # 3. 将新版本 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、计算等

【参考内容】

[1] Shell脚本和编程

话说,写惯了 JavaScript 和 Java,感觉 Shell 这种没有花括号界定代码块的语法看起来好别扭,像 python 似的,分析起来也很费眼。。。