gpt4 book ai didi

node.js - 在nodejs代码中执行多个终端命令

转载 作者:太空宇宙 更新时间:2023-11-03 22:17:08 31 4
gpt4 key购买 nike

我尝试通过 Node 脚本执行多个终端命令

我有一个像 smaple.sh 这样的 shell 脚本,它工作正常

cd ~/Desktop
find -type f -printf '%T+\t%p\n' | sort -n

我正在尝试在 Node 脚本中执行上述终端命令

        var command = ' cd ~/Desktop'
command +=' find -type f -printf %T+\\t%p\\n | sort -n'

exec(command, function (error, stdout, stderr) {

});

执行上面的代码时什么也没得到。首先我需要更改目录然后执行第二个命令

find -type f -printf %T+\\t%p\\n | sort -n

最佳答案

使用您当前的代码,node.js 尝试执行以下操作:

cd ~/Desktop find -type f -printf %T+\\t%p\\n |排序-n

如果您尝试在 Node 外部运行它,您将得到相同的结果。

您需要使用 &&; 来分隔命令,如下所示:

var command = ' cd ~/Desktop &&'
command +=' find -type f -printf %T+\\t%p\\n | sort -n'

exec(command, function (error, stdout, stderr) {

});

也许更优雅的方法:

var commands = [];
commands.push('cd ~/Desktop');
commands.push('find -type f -printf %T+\\t%p\\n | sort -n');

var command = commands.join(' && ');

exec(command, function (error, stdout, stderr) {

});

关于node.js - 在nodejs代码中执行多个终端命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23422132/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com