在bash脚本中如何获取自身路径

用法:

CUR_DIR=$(cd "$(dirname "${BASH_SOURCE-$0}")"; pwd)

解释:

一、BASH_SOURCE-$0

如果是sh test.sh或者./test.sh的运行方式,那么很简单,直接使用$0就可以文件名 
那么如果是source test.sh或者. ./test.sh的方式运行,$0就变成了”-bash”了。这个时候就需要使用$BASH_SOURCE了。BASH_SOURCE-$0是获取当前文件的文件名

二、dirname指令

1、功能:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)

2、用法:dirname filename
例如下面几个例子
(1)# dirname /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts
(2)# dirname /boot/grub/grub.conf
/boot/grub
(3)# dirname /etc/inittab
/etc
(4)# echo `pwd` && dirname modprobe.conf
/etc
.
(5)#echo `pwd` && dirname sysconfig/network-scripts/
/etc
sysconfig

三、basename指令

1、功能:从给定的包含绝对路径的文件名中去除左边目录部分或者同时去除某个后缀的内容(目录的部分),然后返回剩下的部分(非目录的部分)

2、用法:basename filename [suffix]
例如下面几个例子
(1)#basename /etc/sysconfig/network-scripts/ifcfg-eth0
ifcfg-eth0
(2)#basename /boot/grub/grub.conf
grub.conf
bt4破解无线网络
(3)#echo `pwd` && basename sysconfig/network-scripts/
/etc
network-scripts
(4)# basename /boot/grub/grub.conf.bak .bak
grub.conf
(5)# basename /boot/grub/grub.conf.bak .conf.bak
grub

 

转载于:https://www.cnblogs.com/muhezi/p/4514887.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值