我正在将我的zsh设置移植到fish。不过,我正在努力争论鱼类的争论。
function kill_server
lsof -i TCP:$argv | awk '/LISTEN/{print $argv[1]}' | xargs kill -9
if $argv !== dev 2>null
echo "Port" $argv "found and killed."
end
end
我也尝试过使用switch语句,但我不确定如何检查端口号的正则表达式(?)。
答案 0 :(得分:3)
你可能想要
function kill_server --argument port
for pid in (lsof -i TCP:$port | awk '/LISTEN/{print $2}')
echo -n "Found server for port $port with pid $pid: "
kill -9 $pid; and echo "killed."; or echo "could not kill."
end
end
awk体中的$2
不是鱼变量,它属于awk。