无法在lb4 {loopback 4}控制器中执行.sh文件。但是可以执行命令

时间:2018-12-18 22:14:43

标签: node.js bash v4l2loopback

Dietpi: v6.19.7
raspberrypi: 3b+

-------------------------------------------------
controller.ts
-------------------------------------------------
@get('/pingtest',{
responses:{
  '200': TEST_RESPONSE,
 },
})
pingtest(): object{
let tmp = execSync('./sh/pingTest')
return{
  result: tmp,
  err: "no such errors",
  date: new Date(),
  url: this.req.url,
  headers: Object.assign({}, this.req.headers),
 };
}


-------------------------------------------------
./sh/pingTest.sh
-------------------------------------------------
#!/bin/sh
ping -q -c5 8.8.8.8 > /dev/null
if [ $? -eq 0 ]
then
 echo "ok"
fi
exit 0

我可以运行

  

主机名-I

和其他夫妇没有任何问题,但是当我尝试运行

之类的文件时
  

pingTest.sh

我收到500:内部服务器错误

Error: Internal Server Error

{
  "error": {
    "statusCode": 500,
    "message": "Internal Server Error"
 }
}

我对lb4,bash脚本和节点不熟悉。我在这里做错了什么? 我尝试使用

  

child_process.execFileSync()

没有运气

dietpi@DietPi:~/path/to/my/controllers$ ./sh/pingTest
ok

根据要求,这是我从终端运行命令*(预期会为结果提供“ ok”)得到的结果。这排除了扩展名.sh和可执行权限的问题。不知道出了什么问题。

0 个答案:

没有答案