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

相关推荐
2601_962885726 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
爱吃奥利奥_wen6 小时前
面向对象三板斧:封装、继承、多态,到底在“装“什么、“承“什么、“变“什么?
开发语言·经验分享·c#
我可能是个假开发6 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
WL学习笔记8 小时前
日期类(C++)
开发语言·c++·日期类实现
谢亮_vipxieliang8 小时前
Go map与结构体的正确使用
开发语言·golang·哈希算法
H.莓飛8 小时前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio
xxwl5859 小时前
数据结构知识点和代码实现总结(C语言实现)
c语言·开发语言·数据结构
code2cat12 小时前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
CappuccinoRose12 小时前
FormData数据处理
开发语言·前端·javascript·表单数据
Zguigo12 小时前
【CUDA8】第一个CUDA C++ Kernel --vector add
java·开发语言·c++