Bash调试方法

1、安装插件(Bash Debug)

2、写launch.json

json 复制代码
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "bashdb",
      "request": "launch",
      "name": "Debug Shell Script",
      "program": "${file}",
      "args": ["-t", "rk3588", "-a", "aarch64", "-d", "yolov8"],
      "cwd": "${workspaceFolder}",
      "pathBash": "/bin/bash",
      // "pathBashdb": "/usr/bin/bashdb",
      "terminalKind": "integrated"
    }
  ]
}

3、shell的常用语法

echo

shell 复制代码
echo 'hello shell' 单引号原样输出,不解析
echo "hello shell" 双引号解析变量
echo "hello ${name}"
echo "hello:$1"  输出第一个参数 
echo "$name"
echo "${name}"
echo "当前目录:$(pwd)"  ()是命令   {}是变量

if

json 复制代码
if [ 命令 ]; then    # []左右都要有空格
	命令1
fi

# [[]] 更高级更安全
1、不需要给变量添加""也不容易报错
2、支持 && || 直接写到里面
3、支持> < 比较字符串
if [[$a -gt 10 && $a -It 30 ]];then
	echo "ok"
fi 

[-f file] # 是否普通文件
[-d dir]  # 是否目录
[-e file] # 是否存在
[-z ${name}]  # 字符串长度为0

exit -1

相关推荐
aq553560010 小时前
编程语言对比:从汇编到PHP的四大层级解析
开发语言·汇编·php
kyle~10 小时前
工程数学---Eigen库(C++唯一标配线性代数库)
开发语言·c++·线性代数
CoderCodingNo10 小时前
【GESP】C++五、六级练习题 luogu-P1886 【模板】单调队列 / 滑动窗口
开发语言·c++·算法
好家伙VCC10 小时前
**发散创新:基于Rust的轻量级权限管理库设计与开源许可证实践**在现代分布式系统中,**权限控制(RBAC
java·开发语言·python·rust·开源
xiaoshuaishuai810 小时前
C# 方言识别
开发语言·windows·c#
John.Lewis10 小时前
C++进阶(6)C++11(2)
开发语言·c++·笔记
@atweiwei10 小时前
用 Rust 构建agent的 LLM 应用的高性能框架
开发语言·后端·rust·langchain·eclipse·llm·agent
skilllite作者11 小时前
Spec + Task 作为「开发协议层」:Rust 大模型辅助的标准化、harness 化与可回滚
开发语言·人工智能·后端·安全·架构·rust·rust沙箱
Dxy123931021611 小时前
Python序列标注模型上下文纠错详解
开发语言·python
孙鹏宇.11 小时前
左值右值.
java·开发语言