基目录路径

时间:2015-03-09 17:06:36

标签: bash shell scripting

有没有办法从完整路径获取基目录 例如,我有/ opt / mw / apache / etc
我需要得到/ opt
有没有命令要这样做?
感谢

3 个答案:

答案 0 :(得分:1)

您可以尝试下面的内容。

$ s='/opt/mw/apache/etc'
$ if [[ $s =~ ^(/[^/]*).* ]]; then echo ${BASH_REMATCH[1]}; fi
/opt

答案 1 :(得分:1)

使用awk:

echo '/opt/mw/apache/etc' | awk -F"/" '{print "/"$2}'

这会将字符串拆分为“/”,然后它将打印“/”与分割中的第二个标记连接,即“opt”。

答案 2 :(得分:1)

只是为了笑容,这是另一种方式:

basedir() {
    dir=$1
    while [ $(dirname $dir) != "/" ]; do
        dir=$(dirname $dir)
    done
    echo $dir
}

> basedir /opt/mw/apache/etc
> /opt