前幾天寫的七牛的參賽demo,用bash寫了一個便捷安裝的腳本,涉及到了路徑相關(guān)的判斷,從stackoverflow,加上自己的實踐整理一下。
簡單版
下面是一個最簡單的實現(xiàn),可以解決大多數(shù)問題,缺陷是對于軟鏈接顯示的是軟鏈接所在的目錄
lineos:false
復(fù)制代碼 代碼如下:
#!/bin/bash
DIR="$( cd "$( dirname "$0" )" pwd )"
完善版
這個版本解決了使用ln -s target linkName創(chuàng)造軟鏈接無法正確取到真實腳本的問題。
lineos:false
復(fù)制代碼 代碼如下:
#!/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 )"
您可能感興趣的文章:- 通過shell腳本循環(huán)進入目錄執(zhí)行命令的方法
- shell遞歸輸出文件名和目錄名的方法
- shell獲取目錄下所有文件夾的名稱并輸出的實例
- linux Shell獲取某目錄下所有文件夾的名稱
- Shell腳本遍歷目錄并批量修改文件編碼
- Shell腳本統(tǒng)計當前目錄下目錄和文件的數(shù)量
- Linux中shell腳本獲取當前工作目錄的方法