スクリプトの呼び出し元のディレクトリを取得します


回答:


11

シェルでコマンドを呼び出すと、新しいプロセスは親の作業ディレクトリを継承します。作業ディレクトリを取得するには、次の2つの方法があります。

echo "$PWD" # variable
pwd         # builtin command

1

「それが呼び出されたディレクトリ」とは、その作業ディレクトリを意味しているようです。これは、たとえばを使用してスクリプト内で変更できますが、変更するcdpwdに出力されます。変数にも含まれる可能性があります$PWD

変更後に初期作業ディレクトリが必要な場合は、スクリプトの先頭に保存してください(変更する前に)。

#!/bin/bash
initial_wd=`pwd`

# ... do a lot of stuff ...
# ⋮

cd "$initial_wd"

これを使用して、開始したディレクトリに戻る場合は、pushdおよびも参照してくださいpopd


3
bashには "$ OLDPWD"もあります。
ヨルダン2012年

@jordanm確かにありますが、それは必ずしも最初の作業ディレクトリになるとは限りません(たとえば、cd2回使用した場合)
derobert

$ OLDPWDが必要です。Win7のCMDプロンプトからbashスクリプトを実行しました。これは、スクリプトを実行するディレクトリを保持する環境変数でした。乾杯
ダレンビショップ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.