2016-05-26 46 views
2

./は何を意味しますか?私はそれがパスを検索するために使用されると仮定しますが、それが真であるかどうかはわかりません。たとえば、C#でパスを検索する場合は、../../file.exeを使用できます。"./"と "../"の違いは何ですか?

は、現在、私が欲しいものを次のコードでNW.jsに自分のアプリケーションからnode.jsでコマンドを実行することです:

var exec = require('child_process').exec; 

exec('node ./server.js', function(error, stdout, stderr) { 
    console.log('stdout: ', stdout); 
    console.log('stderr: ', stderr); 

    if (error !== null) { 
     console.log('exec error: ', error); 
    } 
}); 

しかし、上記のコードは、望ましい結果が得られていません。私はそれが私が実行したいserver.jsのパスを検索する方法を知らないためだと思う。

+5

になります。/' '../は'カレントディレクトリの親である、現在のディレクトリです。 –

+0

あなたのコメントを回答として追加してみませんか? – jaysoifer

+0

私は誰かがこの質問を重複していると思ったが、この質問はかなり頻繁に聞かれたが、間違っていた。 @JonathanSoifer –

答えて

6

*NIXという形式を使用しているとします。

./が現在のディレクトリです。たとえば、cd ./examplefolderを使用すると完全に有効です。

../が親ディレクトリです。たとえば、cd ../を使用すると、ディレクトリ階層のレベルに上がることができます。

はホームディレクトリです。したがって、~/example/example2/example3にいる場合は、cd ~/を使用してすぐに帰宅することができます。

nodejsを使用している場合は、コマンドをnode yourfilehere.jsとするだけで、現在のディレクトリがファイルを起動しているディレクトリであれば実行します。 node ../yourfilehere.jsを使用すると同様に動作しますが、cd ../node yourfilehere.jsも同様です。

+0

答えの最後のセクションの表現を更新すればよいですか?それはやや誤解を招く。 –

+0

ええ、どうぞ。後ろに –

2

node.jsでは、コメント者よりも少し詳しく説明します。

./は、現在のディレクトリでファイルを実行する必要があることを意味します。現在のディレクトリを表示し、unixの場合はpwdと入力してください。 ../は、 "previous"ディレクトリのファイルを実行することを意味します。グラフ理論では、これは親ノードを意味する。

あなたが実行可能ファイルへのパスを指定しない場合、システムは `PATH

+0

これは、Linuxコマンドとスクリプトが直接実行される場合にも当てはまります。しかし、ノードに渡される引数については、実際には本当ですか? – Alex