0
可能這個問題看起來很愚蠢,但無論如何。我有一個腳本文件/local/bin/app1/script.sh
,我需要知道它的父母父目錄名稱bin
。我知道我可以使用${0%/*}
來確定父目錄名稱。我不熟悉bash,所以有人可以幫我弄清楚父母的父目錄名嗎?非常感謝。Linux父母父文件路徑
可能這個問題看起來很愚蠢,但無論如何。我有一個腳本文件/local/bin/app1/script.sh
,我需要知道它的父母父目錄名稱bin
。我知道我可以使用${0%/*}
來確定父目錄名稱。我不熟悉bash,所以有人可以幫我弄清楚父母的父目錄名嗎?非常感謝。Linux父母父文件路徑
剛申請的伎倆一次:
parent=${0%/*}
grandparent=${parent%/*}
或者,讓殼告訴你
(cd ../.. ; pwd)
舉個例子吧,希望它有助於:
kent$ pwd
/tmp/bin/app
kent$ cat t.sh
#!/bin/bash
a=`dirname $0`
if [ $a = '.' ];then
a=`pwd`
fi
current=$a
echo "current path:"$current
cd $current
echo "parents' parent:"
awk -F'/' '{print $(NF-1)}' <<<$current
kent$ ./t.sh
current path:/tmp/bin/app
parents' parent:
bin
kent$ cd /usr
kent$ pwd
/usr
kent$ /tmp/bin/app/t.sh
current path:/tmp/bin/app
parents' parent:
bin
所以將返回你「bin」。
對我很好,我喜歡這種單線解決方案。謝謝。 – 2012-07-27 12:45:52