[問題] scipt內用eval無法執行特定指令
我想寫一個script 偵測某台機器的5432 port
搭配 keepalived 使用
指令長這樣
</dev/tcp/127.0.0.1/80
對,就這樣而已,如果直接在shell 底下執行,正常的話就不會有輸出
但是我直接加到 keepalived.conf 裡面,會說找不到這指令
Script </dev/tcp/192.168.11.34/5432 cannot be accessed - No such file or directory
所以我想說用script 來跑
script 也很簡單,就是跑上面那行指令
#!/bin/sh
COMMAND="</dev/tcp/127.0.0.1/80"
echo "$COMMAND"
eval "</dev/tcp/127.0.0.1/80"
執行結果
/tmp/check_psql.sh
</dev/tcp/127.0.0.1/80
/tmp/check_psql.sh: 1: eval: cannot open /dev/tcp/127.0.0.1/80: No such file
指令格式應該沒有錯,可是eval 少了一個 "<" 所以我改了一下,加入escape "\"
變成這樣
/tmp/check_psql.sh
</dev/tcp/127.0.0.1/80
/tmp/check_psql.sh: 1: eval: </dev/tcp/127.0.0.1/80: not found
所以指令格式正確了,可是還是沒辦法順利執行
不曉得該怎麼修正呢?
或者是有其他指令可以偵測特定port 是否活著?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.85.234.104
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1559184946.A.5F8.html
推
05/30 11:08,
6年前
, 1F
05/30 11:08, 1F
→
05/30 11:13,
6年前
, 2F
05/30 11:13, 2F
推
05/30 11:15,
6年前
, 3F
05/30 11:15, 3F
→
05/30 11:15,
6年前
, 4F
05/30 11:15, 4F
→
05/30 11:16,
6年前
, 5F
05/30 11:16, 5F
→
05/30 11:17,
6年前
, 6F
05/30 11:17, 6F

推
05/30 11:19,
6年前
, 7F
05/30 11:19, 7F
→
05/30 11:19,
6年前
, 8F
05/30 11:19, 8F
→
05/30 11:19,
6年前
, 9F
05/30 11:19, 9F
→
05/30 11:22,
6年前
, 10F
05/30 11:22, 10F
推
05/30 11:26,
6年前
, 11F
05/30 11:26, 11F
推
05/30 16:38,
6年前
, 12F
05/30 16:38, 12F
→
05/30 16:39,
6年前
, 13F
05/30 16:39, 13F
→
05/30 16:39,
6年前
, 14F
05/30 16:39, 14F
推
05/30 16:46,
6年前
, 15F
05/30 16:46, 15F
→
05/30 16:46,
6年前
, 16F
05/30 16:46, 16F
→
05/30 17:41,
6年前
, 17F
05/30 17:41, 17F
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章