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和可执行权限的问题。不知道出了什么问题。