${BASH_SOURCE[0]} , $0,$1,$2...记录一下

C++笔记之C++中的argv[0]和Linux bash脚本中的$0区别 argv[0]是main函数的参数列表中的第一个参数。它通常表示程序的名称或被用来启动程序的路径。在 C++ 程序中,argv[0]是一个字符串指针 (char*),可以通过它获得程序的调用名。特性argv[0](C++)$0(Bash)表示内容程序名或路径脚本名或路径数据类型字符指针 (char*字符串值的来源操作系统提供Shell 提供值是否包含路径根据执行方式,可能包含路径根据执行方式,可能包含路径特殊情况某些环境下可能为空字符串source或。 阅读详情

${BASH_SOURCE[0]}表示bash脚本的第一个参数(如果第一个参数是bash,表明这是要执行bash脚本,这时"${BASH_SOURCE[0]}"自动转换为第二个参数),例如:

bash modules/tools/planning_traj_plot/run.sh

"${BASH_SOURCE[0]}"代表的是modules/tools/planning_traj_plot/run.sh。
"dirname"表示提取参数里的目录,dirname "${BASH_SOURCE[0]}"表示提取bash脚本第一个参数里的目录,例如modules/tools/planning_traj_plot/run.sh”的目录为"modules/tools/planning_traj_plot。

$0 表示文件名,$1 表示shell的第一个参数,$2 表示shell的第二个参数。。。
脚本中有SCRIPT_DIR=“$(cd “$(dirname “${BASH_SOURCE[0]}“)“ && pwd)“,定时任务需要加什么配合使用?、脚本中获取脚本文件所在路径的方式 这行代码是 Bash 脚本中常见的一段,用于确定脚本文件所在的目录,并将其存储在变量 SCRIPT_DIR 中。:这部分代码获取当前执行的脚本文件(即包含这段代码的脚本)的目录路径。BASH_SOURCE[0] 是一个特殊变量,它包含了当前脚本的完整路径。dirname 命令用于从路径中去除文件名,只留下目录路径。:这个命令会改变当前工作目录到 dirname 命令的输出目录。由于这是一个命令替换(command substitution),其输出(即新的目录路径)会被赋值给 SCRIPT_DIR 变量。 阅读详情

相关推荐

威联通改装飞牛fnOS全攻略:从刷机到Docker影视部署

NAS系统是家庭数字存储的核心,x86架构的威联通设备凭借通用引导和驱动支持,成为改装替代系统的理想平台。飞牛fnOS作为基于Debian的国产NAS系统,以简洁UI、内置Docker和影视墙以及硬件转码能力,吸引了大量玩家。通过U盘引导安装、BIOS调整、系统盘SSD部署,可实现系统切换;原机械硬盘可挂载为存储池,配合Docker部署下载、远程访问等容器,影视中心自动削刮海报墙,硬件转码保障4K播放。改装过程需注意引导失败、硬盘识别、核显驱动等问题。这套方案能让老旧威联通焕发新生,兼顾易用性与扩展性。本文

weixin_33585822的博客 761

linux中${bash_source[0]}和$0的区别

一个shell(bash)脚本有两种执行方式: 直接执行,类似于执行二进制程序 source加载,类似于加载库文件 $0保存了被执行脚本的程序名称。注意,它保存的是以二进制方式执行的脚本名而非以source方式加载的脚本名称。 例如,执行a.sh时,a.sh中的$0的值是a.sh,如果a.sh执行b.sh,b.sh中的$0的值是b.sh,如果a.sh中source b.sh,则b.sh中的$0的值为a.sh。 除了$0,bash还提供了一个数组变量BASH_SOURCE,该数组保存了bash的SOURCE调

wgz7747147820的博客 5617

SAP特殊采购类80实战:跨工厂生产配置避坑指南(附完整测试流程)

本文深入解析SAP特殊采购类80在跨工厂生产场景下的实战应用与配置要点。文章从核心业务逻辑出发,详细拆解了后台配置、主数据与BOM的“双工厂”思维模式,并提供了从创建需求到成品收货的完整测试流程。重点揭示了多层BOM下的需求传递陷阱及常见报错解决方案,旨在帮助SAP顾问及用户规避实施风险,实现资源的灵活调度与流程自动化。

wind6的博客 1139

Shell中的BASH_SOURCE

 BASH_SOURCE[0] 等价于 BASH_SOURCE ,取得当前执行的 shell 文件所在的路径及文件名。dirname 去除文件名中的非目录部分,仅显示与目录有关的部分。 如 /home/abc/test.sh 内容如下: #!/bin/bash echo "${BASH_SOURCE[0]}" echo "${BASH_SOURCE}" echo "$(dirname "${BA...

苍穹尘的博客 8878

理想汽车智驾方案介绍 4 World model + 强化学习重建自动驾驶交互环境

本帖将以 DrivingSphere 为例来解析这个过程。

地平线开发者 1920

ICT模拟零件测试方法--电容测试

通常,小到 100 pF 的电容需要补偿,因为夹具和系统的电容(20 到 50 pF)相对于被测设备的值是显著的。软件在需要补偿的电容测试中加入 comp 选项,而在不需要补偿的电容测试中加入 nocomp 选项。在调试期间,通过向电容语句添加 pc 选项验证您的电容测试。在测试单独的电容时,从测量结果中减去学到的值,然后与测试限制进行比较以决定通过或失败。请注意,如果用于需要补偿的电容测试上的感应总线使用了单独的探针,测量将无效。在测试电容时,应注意两个方面:电容的电阻元件,以及夹具和系统本身的电容。

可可南木的博客 1218

关于 BASH_SOURCE

BASH_SOURCE[0] 等价于 BASH_SOURCE, 取得当前执行的shell文件所在的路径及文件名。 如/home/abc/test.sh 内容如下: #!/bin/sh echo "${BASH_SOURCE[0]}" echo "${BASH_SOURCE]}" echo "$( dirname "${BASH_SOURCE[0]}" )" DIR="$( cd "

大可的杨先森的博客 1136

手把手教你使用ConvNeXt训练自己数据集和推理,ConvNeXt模型训练(CVPR 2022),一个能挑战 Vision Transformer 的卷积神经网络,含完整代码和数据集

手把手教你使用ConvNeXt训练自己数据集和推理,ConvNeXt模型训练(CVPR 2022),一个能挑战 Vision Transformer 的卷积神经网络,含完整代码和数据集

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1451

shell bash 语法

shell bash 语法一、shell介绍二、dirname和basename三、$0和BASH_SOURCE[0]的区别四、变量定义和赋值五、代换1.文件名用通配符代换2. 命令代换:`, $()3. 符号六、if/then/elif/else/fi七、case/esac八、for/do/done九、while/do/done十、条件判断语句十一、位置参数和特务变量十二、函数十三、命令的组合符&&和||十四、echo命令十五、终端常用的快捷键参考 一、shell介绍 Shell的作用是解

weixin_45606237的博客 2240

qt项目中添加 jsoncpp 库

qt使用jsoncpp库

deroy 1350

YOLOv8交通管理 详细解释及代码完整示例

YOLOv8在交通管理中的应用及代码实现 摘要:本文详细介绍了YOLOv8在交通管理领域的应用场景,包括车辆检测、违规行为识别和行人安全预警等。文章提供了完整的Python代码示例,展示了如何使用YOLOv8进行交通对象检测和车辆计数统计。代码包含模型加载、对象检测、结果可视化等功能模块,并给出了性能优化和功能扩展建议。该实现基于Ultralytics框架,支持多种YOLOv8模型选择,可根据实际需求调整模型大小和检测参数。

u010117029的博客 153

linux BASH_SOURCE[0]

BASH_SOURCE[0] BASH_SOURCE[0] 等价于 BASH_SOURCE, 取得当前执行的shell文件所在的路径及文件名。在目录/home/sam/linux编程练习/Shell下新建脚本test.sh:#!/bin/bashDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" && pwd )" # DIR=$( cd "$( di

CNV_2305 6524

INCA ProF文件解析

本博文从实际应用出发,介绍INCA prof文件的关键信息,通过实例,描述当得到一个刷写需求后,如何在不改变用户之前的使用习惯的前提下,满足原有的INCA刷写应用数据和标定程序的需求。 声明:本文不涉及项目名称,没有商业目的,纯属分享技术,乐享知识。

汽车电子软件领域知识分享 1万+

linux中BASH_SOURCE[0]

在C/C++中,__FUNCTION__常量记录当前函数的名称。有时候,在日志输出的时候包含这些信息是非常有用的。而在Bash中,同样有这样一个常量FUNCNAME,但是有一点区别是,它是一个数组而非字符串,其中数组的第一个元素为当前函数的名称。可能初看有点难以理解,为什么FUNCNAME要是一个数组呢?看看下面的例子,你就明白了。 1 #!/bin/bash 2 3 functi...

weixin_38278993的博客 2298

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

DIR=“$( cd “$( dirname “${BASH_SOURCE[0]}“ )“ && pwd )“详解

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"详解 最近经常在bash脚本文件中看到类似于如下所示的语句: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd "${DIR}/.." 刚开始真弄不明白这是什么含义,通过深入学习bash脚本知识,终于理解其含义,现将详细解释记录如下,以备今后不时之需。${BASH_SOURCE[0]}表示b

anshiquanshu的专栏 854

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

linux bash source 0,linux中BASH_SOURCE[0](转)

在C/C++中,__FUNCTION__常量记录当前函数的名称。有时候,在日志输出的时候包含这些信息是非常有用的。而在Bash中,同样有这样一个常量FUNCNAME,但是有一点区别是,它是一个数组而非字符串,其中数组的第一个元素为当前函数的名称。可能初看有点难以理解,为什么FUNCNAME要是一个数组呢?看看下面的例子,你就明白了。1 #!/bin/bash23 function test_fun...

weixin_39633134的博客 310

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"详解

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"详解 最近经常在bash脚本文件中看到类似于如下所示的语句: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd "${DIR}/.." 刚开始真弄不明白这是什么含义,通过深入学习bash脚本知识,终于理解其含义,

davidhopper的博客 1万+

(转载)shell命令 DIR=“$( cd “$( dirname “${BASH_SOURCE[0]}“ )“ && pwd )“详解

转载,原文链接 最近经常在bash脚本文件中看到类似于如下所示的语句: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd "${DIR}/.." 刚开始真弄不明白这是什么含义,通过深入学习bash脚本知识,终于理解其含义,现将详细解释记录如下,以备今后不时之需。 ${BASH_SOURCE[0]}表示bash脚本的第一个参数(如果第一个参数是bash,表明这是要执行bash脚本,这时"${BASH_SOURCE[0]}"自

qq_41690864的博客 2967

$BASH_SOURCE

转自:http://www.708luo.com/?p=24 今天遇到一个需求,获取当前执行脚本。 如果是sh test.sh或者./test.sh的运行方式,那么很简单,直接使用$0就可以了。  那么如果是source test.sh或者. ./test.sh的方式运行呢?$0就变成了”-bash”了。 google了一下,这个时候就需要使用$BASH_SOURCE了。(bash版本

成长是一个持续的过程 4098

Linux中if $0,Linux dirname $0 source if

$SHELL gives the full path to yourdefaultshell.$0 gives the name of yourcurrentshell.dirname是一个命令,获取指定文件的路径dirname voctrals/test.sh的结果是voctrals。现在就可以解释cd `dirname $0`了。进入所运行的shell的目录,这样一来就可以查看目录下...

weixin_39940913的博客 369

linux中BASH_SOURCE[0](转)

转自:http://www.cnblogs.com/sunfie/p/5943979.html 在C/C++中,__FUNCTION__常量记录当前函数的名称。有时候,在日志输出的时候包含这些信息是非常有用的。而在Bash中,同样有这样一个常量FUNCNAME,但是有一点区别是,它是一个数组而非字符串,其中数组的第一个元素为当前函数的名称。可能初看有点难以理解,为什么FUNCNAME要是一...

weixin_30439067的博客 157

Bash脚本中$0变量的深度解析:从原理到实战应用

在Shell脚本编程中,特殊变量是控制脚本行为的关键元素。其中,$0作为位置参数家族的一员,本质上是解释器接收到的第一个参数,类似于C语言中main函数的argv[0]。理解其工作原理,需要从进程调用和参数传递机制入手:当脚本被执行时,操作系统启动解释器进程,并将脚本名或命令作为参数传入,$0即指向该参数。这一特性使其在构建健壮、可移植的脚本中具有重要技术价值,尤其在实现子命令调度和CLI工具开发时,通过结合符号链接,能优雅地模拟类似Git、Docker的多命令接口。在实际应用场景中,$0常用于生成动态帮助

weixin_27923353的博客 501

关于$0及脚本执行方法的一点记录

#!/bin/bash echo $0 通过六个不同的方式执行次脚本 . .sh source .sh ./.sh /…/…/.sh sh *.sh bash *.sh 结果均不相同 执行权限: . , source与sh执行时对文件的权限没有要求 ./和/…/…/执行时文件必须有可执行权限 执行结果: . .sh和source.sh的执行打印为bash ./.sh的执行打印为./文件名 /…/…/.sh的执行打印为/…/…/文件名 bash *.sh和sh *.sh执行打印为文件名 ...

u011455083的博客 430

Linux VPS Bash提示符定制实战:从默认$到智能PS1

Bash提示符(PS1)是Linux终端交互的基础界面元素,其本质是Shell变量控制的动态字符串,通过ANSI转义序列实现颜色与格式化,结合命令替换和陷阱机制(如DEBUG trap)可实时反映Git分支、命令退出状态、主机环境等关键上下文。作为VPS运维与开发者的‘第一层HUD’,它无需额外依赖,却能显著降低误操作风险、提升多环境辨识效率,并在Docker容器、CI/CD等受限场景中保持高度可移植性。本文聚焦真实云服务器(阿里云/腾讯云/甲骨文VPS)环境,详解PS1四层演进逻辑:可读性增强、Git上下

weixin_34129696的博客 429
上一篇: mybatis 中关于 useGeneratedKeys="true" 的使用
下一篇: mysql 设置 编码字符集 过程
TechNeil
博客等级 码龄10年 1粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值