如何在 Javascript 中执行 shell 命令
2022-08-30 01:44:06
我想写一个JavaScript函数,它将执行系统shell命令(例如)并返回值。ls
如何实现此目的?
我想写一个JavaScript函数,它将执行系统shell命令(例如)并返回值。ls
如何实现此目的?
我会假设当提问者说“Shell Script”时,他指的是Node.js后端JavaScript。可能使用 commander.js 来使用 frame 代码:)
您可以从节点的 API 中使用child_process模块。我粘贴了下面的示例代码。
var exec = require('child_process').exec;
exec('cat *.js bad_file | wc -l',
function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
希望这有帮助!
我不知道为什么前面的答案给出了各种复杂的解决方案。如果您只想执行像 这样的快速命令,则不需要异步/等待或回调或其他任何内容。以下是您所需要的一切 - execSync:ls
const execSync = require('child_process').execSync;
// import { execSync } from 'child_process'; // replace ^ if using ES modules
const output = execSync('ls', { encoding: 'utf-8' }); // the default is 'buffer'
console.log('Output was:\n', output);
对于错误处理,请在语句周围添加一个 / 块。try
catch
如果您正在运行一个需要很长时间才能完成的命令,那么是的,请查看异步 exec
函数。