gpt4 book ai didi

linux - 简单的 bash 命令失败,无法执行二进制文件

转载 作者:太空宇宙 更新时间:2023-11-04 09:29:49 25 4
gpt4 key购买 nike

我尝试在 Node 中执行一些简单的 bash,但出现错误:/usr/bin/file:/usr/bin/file: 无法执行二进制文件

'use strict';

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

var process = spawn('bash', ['file']);
process.stdout.on('data', function(data){
console.log(data.toString());
});
process.stderr.on('data', function(data){
console.log(data.toString());
});

我什至给脚本 chmod+x 并用 node script.js 运行它

有什么想法吗?

最佳答案

看起来当您生成子进程时,您实际上是在尝试运行"file"命令,而不是 shell 脚本,所以 bash 正在向您咆哮。

这相当于在命令行中输入:“bash 文件”。

您需要编写一个 shell 脚本并将其作为参数传递给 bash 进程。

因此,编写一个名为“do_something.sh”的脚本,然后使用 ['do_something.sh'] 作为 bash 的参数而不是 ['file'] 运行代码:

var process = spawn('bash', ['do_something.sh']);

关于linux - 简单的 bash 命令失败,无法执行二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32771166/

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