linux - 在字符串 bash 中连接变量

标签 linux bash command-line concatenation command-line-interface

我正在终止端口 4444 中的进程,但这可以更改,我在变量 PORT 中有端口,但我找不到如何将其放入指令中

netstat -ntlp | awk '$4~/:*4444$/{gsub(/\/.*/,"",$NF);cmd="kill -9 "$NF;system(cmd)}'

我试过:

netstat -ntlp | awk '$4~/:*${PORT}$/{gsub(/\/.*/,"",$NF);cmd="kill -9 "$NF;system(cmd)}'

但是没用

最佳答案

Shell 变量未在单引号中扩展,但您不必必须求助于双引号及其过度转义。只是摆脱单引号字符串!

netstat -ntlp | awk '$4~/:*'${PORT}'$/{gsub(/\/.*/,"",$NF);cmd="kill -9 "$NF;system(cmd)}'

看看 ${PORT} 如何跟在上半部分的闭引号之后,以及下半部分的开始引号之前。

关于linux - 在字符串 bash 中连接变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9897263/

相关文章:

linux - 跨 Linux 发行版分发二进制应用程序

linux - 基于公共(public)列合并两个文件

bash - 在将 tee 发送到文件之前,如何从 tee 获取 "process"文本

linux - 与 Sox/Audacity 一起使用的商业 MP3 编码器/解码器

python - 如何轻松打印 ascii-art 文本?

windows - 我如何编写一个脚本来比较修改日期并查看哪个更新?

c++ - 在 boost::siginfo 处理程序中从 siginfo 获取 sig_int 值

bash - 我刚刚分配了一个变量,但 echo $variable 显示了其他内容

python - 删除默认 Python 2.7 后在 CentOS 上重新安装 Python

linux - NASM 你能解释一下为什么我的代码会返回一个段错误吗?