ABU*_*HIM 1 shell shell-script filenames
如何从给定的字符串下方提取路径位置。
/opt/oracle/app/oracle/product/12.1.0/bin/tnslsnr
Run Code Online (Sandbox Code Playgroud)
预期输出。
/opt/oracle/app/oracle/product/12.1.0/bin
Run Code Online (Sandbox Code Playgroud)
(或者)
/opt/oracle/app/oracle/product/12.1.0/bin/
Run Code Online (Sandbox Code Playgroud)
str=/opt/oracle/app/oracle/product/12.1.0/bin/tnslsnr
path=${str%/*}
echo "$path"
Run Code Online (Sandbox Code Playgroud)
一般情况下,${parameter%word}
删除word
从的末端parameter
。在我们的例子中,我们想要删除最后一个斜杠和后面的所有字符:/*
.
以上产生:
/opt/oracle/app/oracle/product/12.1.0/bin
Run Code Online (Sandbox Code Playgroud)
dirname可用于从路径中删除最后一个组件:
$ dirname -- "$str"
/opt/oracle/app/oracle/product/12.1.0/bin
Run Code Online (Sandbox Code Playgroud)