有没有办法从完整路径获取基目录
例如,我有/ opt / mw / apache / etc
我需要得到/ opt
有没有命令要这样做?
感谢
答案 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