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
。