スクリプトが呼び出されるディレクトリを取得します。

スクリプトが呼び出されるディレクトリを取得します。

doSmth私はスクリプトを持っています/usr/bin。目次を受けて印刷できますか?スクリプトは次から呼び出されます。

したがって、出力doSmthから呼び出す/home/me/home/me

答え1

シェルからコマンドを呼び出すと、新しいプロセスは親プロセスの作業ディレクトリを継承します。作業ディレクトリをインポートする方法は2つあります。

echo "$PWD" # variable
pwd         # builtin command

答え2

「呼び出されたディレクトリ」は、作業ディレクトリを表すようです。たとえば、 を使用してスクリプトで変更できますが、cdそうする前にpwd印刷してください。変数にある可能性があります。$PWD

変更後に初期作業ディレクトリが必要な場合は、スクリプトの上部に保存する必要があります(変更前)。

#!/bin/bash
initial_wd=`pwd`

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

cd "$initial_wd"

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

関連情報