2011-07-16 13 views
0

fooというスクリプトと同じフォルダにbarというスクリプトがあるとします。言うfooは次のようになります。スクリプトのあるフォルダから何かを実行するには

./bar 

を今、私は./fooを呼び出す場合、これは正常に動作しますが、私は別のフォルダに午前somefolder/fooを呼び出す場合、それは失敗します。

fooが入っているディレクトリから./barを解釈するとどうすればよいですか?

答えて

2

fooは、次のようになります。

cd "$(dirname "$0")" 
./bar 
+0

問題になるのパスの場合です。この意志めちゃくちゃに他のすべての引数ディレクトリを変更します。しかし、両方のステートメントを組み合わせることで、望ましい効果が得られます。 –

1

でのbashなどのシェルのためにかなり徹底的に答え

Getting the source directory of a Bash script from within

+0

ようこそスタックオーバーフローへ。リンクだけで質問に回答しないでください。[How-to-answer]をお読みください。以前の質問の正確な複製である質問が表示されたら、質問の「フラグ」ボタンをクリックし、「ここには属していません」、「正確な複製」を選択し、前の質問へのリンクを入力します。また、他の人に今すぐ話すようにコメントを残してください(司会者が行動するまで、フラグは見えません)。 – Gilles

+0

注目。あなたが私に新しいと言うことができるように、私はこれにフラグを付ける十分な評判を持っていない可能性があります。 – iandotkelly

関連する問題