Use o recurso de remoção de sufixo do shell
str=/opt/oracle/app/oracle/product/12.1.0/bin/tnslsnr
path=${str%/*}
echo "$path"
Em geral, ${parameter%word}
remove word
do final de parameter
. No nosso caso, queremos remover a barra final e todos os caracteres que seguem: /*
.
O acima produz:
/opt/oracle/app/oracle/product/12.1.0/bin
Use o nome do direccionador
dirname pode ser usado para remover o último componente de um caminho:
$ dirname -- "$str"
/opt/oracle/app/oracle/product/12.1.0/bin