Answers:
您可以使用awk进行更精确,更简单的匹配。
if netstat -lnp | awk '$4 ~ /:8080$/ && $7 ~ /java/ {exit(0)} END {exit(1)}'; then …
为了更紧密地匹配命令的结构,可对外壳中的字符串进行通配符匹配的可移植方法是使用case
结构。
case "$(netstat -lnp | grep ':8080')" in
*java*) echo "Found a Tomcat!";;
esac
另一个真实的例子:)
if [[ $(HEAD mycompany-intranet.com | grep '200\ OK' | wc -l) = "1" ]]; then
echo doing some intranet settings (proxy, etc)
else
echo doing some work-at-home settings (proxy, etc)
fi
HEAD
办?这是系统上的自定义函数还是别名?
usr/bin/HEAD → lwp-request
。lwp-request似乎就是这个。不知道我是怎么来的(当然不是手动),默认情况下是否全部存在。似乎有一个小写字母usr/bin/head
以及。
-q
grep 的选项,而不是重定向到/ dev / null。使用时-q
,grep不输出任何内容,并且在第一个匹配项之后停止搜索。