ほとんどの回答は現在のパスを取得し、状況に依存します。任意のディレクトリからスクリプトを実行するには、以下のスニペットを使用してください。
DIR="$( cd "$( dirname "$0" )" && pwd )"
サブシェルでディレクトリを切り替えることにより、 pwd
を呼び出すことができます コンテキストに関係なく、スクリプトの正しいパスを取得します。
その後、 $DIR
を使用できます "$DIR/path/to/file"
として
シェル スクリプトの現在の (初期) ディレクトリは、スクリプトを呼び出したディレクトリです。
既に述べたように、場所はスクリプトが呼び出された場所になります。スクリプトがインストールされている場所を参照するようにしたい場合、それは非常に簡単です。以下は、PWD とインストールされたディレクトリを出力するスニペットです:
#!/bin/bash
echo "Script executed from: ${PWD}"
BASEDIR=$(dirname $0)
echo "Script location: ${BASEDIR}"