获取shell脚本自身所在目录的Shell脚本分享
更新时间:2015年01月16日 11:08:15 投稿:junjie
这篇文章主要介绍了获取shell脚本自身所在目录的Shell脚本分享,本文给出的脚本可以获取软链接所在的目录,需要的朋友可以参考下
前几天写的七牛的参赛demo,用bash写了一个便捷安装的脚本,涉及到了路径相关的判断,从stackoverflow,加上自己的实践整理一下。
简单版
下面是一个最简单的实现,可以解决大多数问题,缺陷是对于软链接显示的是软链接所在的目录
lineos:false
复制代码 代码如下:
#!/bin/bash
DIR="$( cd "$( dirname "$0" )" && pwd )"
完善版
这个版本解决了使用ln -s target linkName创造软链接无法正确取到真实脚本的问题。
lineos:false
复制代码 代码如下:
#!/bin/bash
SOURCE="$0"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
相关文章
浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释
下面小编就为大家带来一篇浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-03-03详解git无法pull仓库refusing to merge unrelated histories
这篇文章主要介绍了详解git无法pull仓库refusing to merge unrelated histories的相关资料,需要的朋友可以参考下2017-06-06linux shell字符串内置的常用操作(获取长度、查找、替换)
在编写shell程序时,经常会涉及到字符串相关操作。有许多命令语句,如awk,sed都能够做字符串各种操作。 事实上shell内置一系列操作符号,能够达到相似效果,使用内部操作符会省略启动外部程序等时间,因此速度会很的快。如果内置的操作符能够做到的,优先使用内置的2015-12-12
最新评论