dirname $0

2023-12-12 17:39
文章标签 dirname

本文主要是介绍dirname $0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux下获得目录路径比较常用的是pwd命令和getcwd()函数了,但是有时候并不能很容易的match一些比较常用的需求。问题来自闪电的一个问题,他写了一个程序放在一个文件夹里面交给客户,这个文件夹里面有若干应用程序和若干文件,客户可以把这个文件夹放在任意的目录,然后客户使用绝对路径跑文件夹里面的一个程序:/program/a/b/c/d/e/folder/fgh.sh,在客户跑的fgh.sh这个程序里要用到和它在同一个文件夹的其他文件:/program/a/b/c/d/e/folder/1.txt。这样就需要在fgh.sh这个程序里面得到它所在目录的绝对路径:/program/a/b/c/d/e/folder。pwd命令只能得到当前目录,也就是跑程序时所在的目录,但不能得到程序所在的目录。dirname恰好就能实现这个功能,使用dirname $0就可以解析出所要的绝对路径/program/a/b/c/d/e/folder。

         后来有想了一下,dirname这个命令实在是不太常用,很难想起。常规一点,其实也可以在程序里面做判断,如果客户使用的是绝对路径跑程序,可以得到参数,就是那一长串的东西
/program/a/b/c/d/e/folder/fgh.sh,然后从这个参数解析出所要的路径名:
         filename=
/program/a/b/c/d/e/folder/fgh.sh
         filedirectory=${filename%/*.*}

这篇关于dirname $0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/485431

相关文章

linux shell dirname $0是什么意思

获得当前shell脚本的绝对路径 #!/bin/bashSHELL_FOLDER=$(cd $(dirname $0);pwd)echo ${SHELL_FOLDER}   https://blog.csdn.net/jackyechina/article/details/52813007

$(dirname $0)

查看公司的java部署脚本,发现第一行使用了$(dirname $0)这个写法,由于不是很了解这个写法的作用,于是百度下用法。 作用 在linux中,dirname命令可以返回文件所在的目录。$0 表示当前动行的命令名。 因此此写法的作用为: 切换到 脚本 所在的目录 在shel脚本中,$的作用有很多,下面是网上抄录的一些功能 命令替换 在bash中,$( )与(反引号)都是用来作命令

linux系统中,pwd获取当前路径,dirname获取上一层路径;不使用 ../获取上一层路径

在实际项目中,我们通常可以使用 pwd 来获取当前路径,但是如果需要获取上一层路径,有不想使用 …/ 的方式,可以尝试使用 dirname指令 测试shell脚本 #!/bin/bash# 获取当前路径CURRENT_PATH=$PWDecho "CURRENT_PATH=$CURRENT_PATH"# 获取上一层路径TOP_PATH=$(dirname $CURRENT_PATH)e

如何理解shell命令 cd $(dirname $0)

理解命令 cd $(dirname $0) 需要逐步拆解和分析每个部分的功能: $0: 在shell脚本中,$0 代表脚本的名称。这个变量包含了脚本的完整路径或相对路径。 dirname $0: dirname 是一个命令,用于去掉路径中的文件名部分,返回目录名。所以 dirname $0 会返回脚本所在的目录。 $(dirname $0): $(...) 是命令替换的语法。它会执行括号内

dirname(__FILE__) 的使用总结

dirname(__FILE__)  php中定义了一个很有用的常数,即 __file__ 这个内定常数是当前php程序的就是完整路径(路径+文件名)。 即使这个文件被其他文件引用(include或require),__file__始终是它所在文件的完整路径,而不是引用它的那个文件完整路径。 请看下面例子: /home/data/demo/test/a.php <?php $the_fu

修改了环境变量~/.bashrc后 报错 命令 “dirname” 可在以下位置找到 * /bin/dirname * /usr/bin/dirname

问题如下: 修改了~/.bashrc后加入了环境变量之后报错,如下所示 (base) jie@dell:~/桌面$ source ~/.bashrc  命令 “dirname” 可在以下位置找到  * /bin/dirname  * /usr/bin/dirname 由于 /usr/bin:/bin 不在 PATH 环境变量中,故无法找到该命令。 dirname:未找到命令 命令 “lessp

basename和dirname的使用

[dirname] 手册页“Print  NAME  with  its  trailing  /component  removed; if NAME contains no /’s, output ‘.’ (meaning the current directory).”该命令可以取给定路径的目录部分(strip non-directory suffix from file name)。这个

__filename与__dirname

__dirname 是 Node.js 中的一个内置全局变量,它代表的是当前正在执行的 JavaScript 文件所在的绝对目录路径。这个变量在 Node.js 应用程序中非常有用,因为它可以帮助开发者定位到相对于当前文件的其他文件或目录的位置。 例如,在一个 Node.js 模块中,你可以这样使用 __dirname: // 假设你在 /home/user/project/app.js

vite配置别名警告‘__dirname‘ is not defined.

分析 __dirname为node环境的变量 解决 设置eslint环境配置为node env: { Node: true, es2020: true },

【cd `dirname $0`】切换到脚本所在的目录

#!/bin/bashcd `dirname $0` # 切换到脚本所在的目录cd ..cd ..read var 这样子永不迷路,完全不用担心当前cd到哪个目录了,最终都能找到正确的路径