首页 > 解决方案 > 将输出拆分为两个变量

问题描述

我正在尝试使用 tvservice 命令将树莓派分辨率读取到两个变量中:X 和 Y。

运行时:

tvservice --status | awk '{print $9}'

我正进入(状态:

1920x1800 

这正是我正在寻找的。

我想弄清楚的是如何将它们拆分为两个 bash 变量,其中 X=1920 和 Y=1800,以便稍后在我的脚本中使用它们。

标签: bash

解决方案


请您尝试以下操作。我们在这里简单地创建了 2 个名为XandY的变量,尽管打印了它们,但$9我们使用split函数将其拆分awk,然后为变量 X 打印它们的第一个元素,为第二个元素打印第二个元素。

X=$(tvservice --status | awk '{split($9,array,"x");print array[1]}')
Y=$(tvservice --status | awk '{split($9,array,"x");print array[2]}')

推荐阅读