linux - 在一次执行运行中从命令输出中获取两个变量
问题描述
我在 bash 中构建一个脚本以在 Linux 上使用,我使用可执行文件的输出来填充参数:
version=$("${path_exec}" -version | awk '{if($1=="kernel" && $2=="release") print $3}')
patch=$("${path_exec}" -version | awk '{if($1=="patch" && $2=="number") print $3}')
这将运行“path_exec”中定义的可执行文件两次,这很耗时。有没有办法只使用“path_exec”的一次执行来为版本和路径变量分配一个值?
我试图解决这个问题的一个例子如下所示,但我认为这不会做我想要的:
${path_hostexec} -version | awk '{if($1=="kernel" && $2=="release") {version_agent = $3;} else if($1=="patch" && $2=="number") {patch_agent = $3;}}'
解决方案
谢谢大家,感谢您的输入,我已经设法让它工作:
version_patch_agent=$("${path_hostexec}" -version | awk '/kernel release/ {v=$3} /patch number/ {p=$3} END {print v" patch "p}')
这会将版本和补丁号放入一个变量中,我可以通过回显来获取屏幕上的信息。再次感谢大家!!
推荐阅读
- javascript - 为什么我不能将 AdjecentHTML 插入文本区域?
- javascript - 如何在JS中以隐藏模式运行exe?
- python-3.x - 单元测试中的 AssertionError
- sql - Conversion issue from string to decimal in redshift
- php - Problem with joining three tables in Laravel
- c# - 在 SignalR Core 的 Hub 之外访问或注入 HubCallerContext
- android - How to set major and minor grid lines using Androidplot?
- animation - 如何使用 Three.js 动画系统为相机设置动画?
- android - 安卓。是否有进入默认应用页面的意图?
- json - 如何引用文件中的单个元素?