Bash:絶対パスよりも高いパス定義

Bash:絶対パスよりも高いパス定義

次のディレクトリでスクリプトを実行しています。

a/b/c/d/script.bash

このような環境変数projrootを作成する必要があります。

  script=$(readlink -f $0) # Absolute path to this script.
  export projroot=$(dirname $(dirname $script)) #This points to the absolute path

代わりに、どのように指すように定義しprojrootますか?projroota/ba/b/c

ベストアンサー1

ネストを使用するdirnameか、次を使用できます。Bash パラメータ拡張そしてrealpath

実際のパスを使用する:

script=$(readlink -f "$0")
export projroot=$(realpath -mL "${script}/../../..")

Bash パラメーター拡張を使用します。

script=$(readlink -f "$0")
export projroot="${script%/*/*/*}"

おすすめ記事