獲取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創(chuàng)造軟鏈接無法正確取到真實腳本的問題。
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下定時執(zhí)行任務的方法及crontab 用法說明(收集整理)
這篇文章主要介紹了 linux下定時執(zhí)行任務的方法及crontab 用法說明(收集整理),需要的朋友可以參考下2017-04-04shell基礎學習中的字符串操作、for循環(huán)語句示例
這篇文章主要介紹了shell基礎學習中的字符串操作、for循環(huán)語句示例2014-04-04