Bash:获取当前脚本路径
2024-10-19 22:29:19
可以使用readlink命令必须加上-f参数,readlink用于读取链接文件所指向的文件,这样对于一些建立了软连接的脚本文件的话非常适用,而对于一般的脚本文件需要加上-f参数否则readlink文件不会有输出(如果不加-f参数对一个普通文件适用readlink命令则$?=1)
获取当前执行脚本文件路径
BIN_FILE=$(readlink -f $)
(注意:加了-f参数后,即使参数指定的文件不存在readlink还是会生成一个路径,但是因为执行脚本是$0对应的文件肯定是存在的,不用担心这个问题)
一般来说执行脚本路径获取后,我们接着获取项目的根目录,这样以后的操作中的路径就可以统一了,这里假设目录为project_home/bin/script这样的结构
PROJ_BIN=$(dirname $BIN_FILE)
PROJ_HOME=$(dirname $PROJ_BIN)
dirname可以获取参数中路径的的上一级目录
还可以通过basename获取脚本名称,这个名称只包含除去后缀的文件名部分,可以用于在usage之类的信息中显示
SCRIPT_NAME=$(basename $BIN_FILE)
最新文章
- java Future 接口介绍
- easyUI 如何不跳转页面,只是加载替换center部分内容
- web分享QQ好友、QQ空间、新浪微博的api接口
- [BZOJ1856][SCOI2010]字符串(组合数学)
- Permutations [LeetCode]
- T4 Templates
- WebService另一种轻量级实现—Hessian 学习笔记
- 八、jdk工具之JvisualVM、JvisualVM之一--(visualVM介绍及性能分析示例)
- ARM-Linux配置DHCP自动获取IP地址
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试
- java学习——集合框架(Collection,List,Set)
- org.hibernate.service.jndi.JndiException: Error parsing JNDI name []
- BZOJ 2324 营救皮卡丘
- 理解HTTPS
- C# 读取PDF多级书签
- tomcat配置的环境变量catalina.home和catalina.base 区别
- zabbix 配置SNMP监控
- 让你的ansible飞起来
- leetcode168
- UPDATE_ENTITY実行