如何遵循exec子进程的cwd路径[Mac / Windows]

时间:2017-08-10 16:19:17

标签: node.js shell

我正在创建一个非常简单的基于nodeJs的终端。 有一个编辑文本框供用户输入命令。 nodeJs脚本将执行命令并显示结果。

基础是

result = exec(evalLines, evalCallBack);

如果用户在编辑框中键入ls,则会显示__dirname目录内容。如果他更改目录cd ..,则目录将更改为父目录。到目前为止,所有人都说非常明显。

如何关注cwd更改的位置?

的index.html

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Terminal</title>
</head>

<body>
    <h3>Enter the Shell commands in the top box and press Shift + Enter to execute it</h3>
    <form>
    <textarea type="text" id="execCode" style="width: 100%; height: 100px">cd ./Users 
ls
    </textarea>
    </form>
    <textarea type="text" id="execResult" style="width: 100%; height: 100px"></textarea>
    <span id="restartExt1">Restart Extension</span>
    <script src="../js/libs/jquery-2.0.2.min.js"></script>
    <script src="../js/buttons2.js"></script>
</body>

</html>

Teminal.js

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

    var evalCallBack = function(error, result) {
        // looking to change the '@' to the NEW current working domain
        $("#execResult").val((error || result) + '@$ \n');
    };

    $('#execCode').keypress(function(key) {
        if (key.keyCode == 13 && key.shiftKey) {
            exec($('#execCode').val(), evalCallBack);
        }
    });  
})();

我要做的是将'@ $'替换为新目录。

enter image description here

注意我看到How to get the cwd (current working directory) from a nodejs child process (in both windows and linuxish),但答案对我没有帮助。

0 个答案:

没有答案