【获取shell脚本文件的全路径】涉及的知识点

【获取shell脚本文件的全路径】涉及的知识点

$0是当前执行脚本的名称。

dirname $0 是当前执行脚本的父目录(相对路径,仍然不是全路径)

真正读取全路径的方法:

base_dir= ( c d " (cd " (cd"(dirname “$0”)";pwd) 则是 切换工作目录到脚本父目录下,然后pwd,返回当前脚本父目录。如果不cd,按照fork的特性,就会继承父进程的work directory.

这里有个好处就是我们在 $()里面执行shell script,也就是在子进程里改变了work-dir。因此当前进程的work-dir不会被改变。这个正合我们的意图,我是仅仅只是想获得脚本的全路径,虽然我们是通过工作空间来获取全路径,但我们原则上不能改变当前进程的work-dir.

cd的目的是为了通过切换工作空间来获得绝对路径。

$()是创建子进程执行命令并返回stdout结果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值