2012-03-27 21 views

答えて

12

シェルスクリプトの現在の(初期)ディレクトリは、スクリプトの呼び出し元のディレクトリです。

7

実行時に出力をpwdにチェックすることで、これを自分で行うことができます。 これは、ディレクトリを表示します。あなたは現在です。スクリプトではありません。

スクリプトでディレクトリが切り替わらない場合は、ディレクトリから出力します。

66

すでに説明したように、場所はスクリプトが呼び出された場所になります。スクリプトの参照場所をインストール場所にしたい場合は、非常に簡単です。以下は、PWDとインストールされたディレクトリを印刷するスニペットです。

#!/bin/bash 
echo "Script executed from: ${PWD}" 

BASEDIR=$(dirname $0) 
echo "Script location: ${BASEDIR}" 
15

ほとんどの回答はあなたに現在のパスを取得し、文脈依存です。スクリプトを任意のディレクトリから実行するには、以下のスニペットを使用します。

DIR="$(cd "$(dirname "$0")" && pwd)" 

サブシェル内のディレクトリを切り替えることで、私たちはその後、pwdを呼び出し、関係なく、コンテキストのスクリプトの正しいパスを取得することができます。

$DIR"$DIR/path/to/file"

関連する問題