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

相关推荐
月亮邮递员6167 小时前
Markdown语法总结
开发语言·前端·javascript
printfLILEI7 小时前
php中的类与对象以及反序列化
linux·开发语言·php
曹牧7 小时前
C#:主线程能够捕获到子线程中的异常
开发语言·数据库·c#
代码中介商7 小时前
深入解析STL中的stack、queue与priority_queue
开发语言·c++
彦为君7 小时前
JavaSE-07-异常机制
java·开发语言·后端·python·spring
OxyTheCrack7 小时前
【Golang】简述make与new内置函数以及两者的区别
开发语言·golang
Rain5097 小时前
mini-cc 的 MCP 协议:给 AI 装个 USB-C 接口
c语言·开发语言·前端·人工智能·架构·node.js·ai编程
华科大胡子8 小时前
AI开发者的网络卡点:Anthropic连接超时
开发语言·php
磊 子8 小时前
STL无序关联容器—unorded_set+unorded_map
开发语言·c++
AI人工智能+电脑小能手8 小时前
【大白话说Java面试题 第84题】【Mysql篇】第14题:为什么用 InnoDB 存储引擎的表建议用整型的自增主键?
java·开发语言·数据库·mysql·面试