2016-05-26 9 views
2

Что означает ./ означает? Я предполагаю, что он используется для поиска пути, но я не уверен, что это правда. Я знаю, что, например, в C#, если я хочу искать путь, я могу использовать ../../file.exe.В чем разница между «./» и «../»?

В настоящее время, что я хочу, чтобы выполнить команду в node.js из моего приложения в NW.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. ../ будет означать выполнение файла в «предыдущем» каталоге. В теории графов это означало бы родительский узел.

Если не указать путь к исполняемому файлу, то система будет выглядеть в PATH

+0

Я знаю, что это верно для команд Linux и скриптов, выполняемых напрямую. Но действительно ли это верно и для аргумента, переданного узлу? – Alex

Смежные вопросы