パスの最初の2つのディレクトリを抽出します。

パスの最初の2つのディレクトリを抽出します。

$ORACLE_HOME変数のパスから最初の2つのディレクトリを抽出する必要があります。

ORACLE_HOME=/oradba/app/oracle/product/11.2.0.4/testdb

私に必要な価値:/oradba/app/

ベストアンサー1

  1. 切り取りを使用(最後に追加/):

    ORACLE_HOME=$(printf "%s" "$ORACLE_HOME" | cut -d/ -f1-3)/
    
  2. 引数を使用して2回展開します。最初はディレクトリの最初の2つの要素を削除し、2番目は元の変数の残りの要素を削除します。

    suffix=${ORACLE_HOME#/*/*/}
    ORACLE_HOME=${ORACLE_HOME%"$suffix"}
    

おすすめ記事