18,777
社区成员
发帖
与我相关
我的任务
分享
$http_code_cmd
替换为$(netstat -lntp | awk '/^tcp/{print $4}' | grep -q ":$Port$";echo $?)
就达到你要的目的。
嫌多就
http_code_cmd="netstat -lntp | awk '/^tcp/{print \$4}' | grep -q \":\$Port$\""
if eval http_code_cmd; then dosomting; fi
#没有必要再[ $(echo $?) -eq 0 ], if实际上就是通过“[”的“$?”来判断是执行then还是else(或退出)
...
建议用这种形式netstat -lnpt | grep -qP ":${Port} " && {
#如果找到就执行
}
和netstat -lnpt | grep -qP ":${Port} " || {
#如果没找到就执行
}
和netstat -lnpt | grep -qP ":${Port} " && {
#如果找到就执行
} || {
#如果没有找到就执行
}
的组合,除了好看些之外,性能比if test好不少