2017-05-17 14 views
0

私のホームディレクトリにbashスクリプトがあり、それをデスクトップから実行するよう呼びかけたら、スクリプトが実行する要求をデスクトップから知ることは可能でしょうか?私は、スクリプトファイルがどこにあるかのパスを取得する方法を理解しましたが、要求がどこから来たのかを知りたいと思います。スクリプトが呼び出された場所のパスを取得する

ありがとうございます!

+0

チェックhttp://stackoverflow.com/questions/59895/getting-the-source-directory-of-a-bash -script-from-within –

答えて

0

これを試してください:あなたは、現在のディレクトリを取得します

srcdir=$(pwd) 

を。つまり、のスクリプトをからに呼び出すと、Desktopのようになります。正式にコメントで議論

、この代替案はかなり良いです:

srcdir=$PWD 
+1

環境変数 '$ PWD'があります。 – 123

+0

@ 123あなたは正しいです!しかし、OPは自分のOSについて言及していないので、 'pwd'はもう少し移植性があるかもしれないと思った...;) –

+2

環境変数' PWD'と 'pwd'コマンドはどちらもPOSIXの一部です仕様;彼らは同じように移植可能です。通常、シンボリックリンクとそれが指すディレクトリを区別するために '-L'または' -P'オプションを使用する必要がある場合にのみ、コマンドを使う必要があります。 (もしあれば、*変数*はより移植性があります。なぜなら、 'bash'自体が、基礎をなすオペレーティングシステムに依存するのではなく、コマンドを提供するからです。) – chepner

関連する問題