shelljs "not found" 错误
shelljs "not found" error
我有以下 .sh 文件
// ping.sh
01: port=""
02: echo "pinging http://localhost:$port/ping"
03:
04: retry=0
05: while
06: sleep 1
07: api_response=$(curl --write-out %{http_code} --silent --output /dev/null "http://localhost:$port/ping")
08: echo "resp $api_response"
09: (( "$api_response" != "200" && ++retry < 100 ))
10: do :; done
当我 运行 直接用 ./ping.sh 8080
时,它工作正常。但是,当我使用 shelljs 运行 它失败并出现以下错误时。
// ping.js
require('shelljs').exec("./ping.sh 8080", {async:true});
$ node ping.js
pinging http://localhost:8080/ping
resp 000 ./ping.sh: 9: ./ping.sh: 000: not found
它确实有效,只需将 #!/bin/bash
添加到 ping.sh
工作概念验证:
ping.sh
#!/bin/bash
port=""
echo "pinging http://localhost:$port/ping"
retry=0
while
sleep 1
api_response=$(curl --write-out %{http_code} --silent --output /dev/null "http://localhost:$port/ping")
echo "resp $api_response"
(( "$api_response" != "200" && ++retry < 100 ))
do :; done
ping.js
require('shelljs').exec("./ping.sh 8080", {async:true});
terminal output :
node ping.js
pinging http://localhost:8080/ping
resp 000
resp 000
我有以下 .sh 文件
// ping.sh
01: port=""
02: echo "pinging http://localhost:$port/ping"
03:
04: retry=0
05: while
06: sleep 1
07: api_response=$(curl --write-out %{http_code} --silent --output /dev/null "http://localhost:$port/ping")
08: echo "resp $api_response"
09: (( "$api_response" != "200" && ++retry < 100 ))
10: do :; done
当我 运行 直接用 ./ping.sh 8080
时,它工作正常。但是,当我使用 shelljs 运行 它失败并出现以下错误时。
// ping.js
require('shelljs').exec("./ping.sh 8080", {async:true});
$ node ping.js
pinging http://localhost:8080/ping
resp 000 ./ping.sh: 9: ./ping.sh: 000: not found
它确实有效,只需将 #!/bin/bash
添加到 ping.sh
工作概念验证:
ping.sh
#!/bin/bash
port=""
echo "pinging http://localhost:$port/ping"
retry=0
while
sleep 1
api_response=$(curl --write-out %{http_code} --silent --output /dev/null "http://localhost:$port/ping")
echo "resp $api_response"
(( "$api_response" != "200" && ++retry < 100 ))
do :; done
ping.js
require('shelljs').exec("./ping.sh 8080", {async:true});
terminal output :
node ping.js
pinging http://localhost:8080/ping
resp 000
resp 000