xrandr | grep“ connected”给了我多行,但是IFS = $'\ n'读不会破坏它

罗慕洛·彭尼迪(RomuloPBenedetti)

我有这样的事情:

declare -a DISPLAYS
AUXILIAR="$(xrandr | grep " connected ")"
IFS=$'\n' read -ra DISPLAYS <<< "$AUXILIAR"

为什么不能检测到换行符

echo "$AUXILIAR" 

打印多行?

更新

这项工作表明:

AUXILIAR="$(xrandr | grep " connected " | tr '\n' '%')"
IFS='%' read -ra DISPLAYS <<< $(echo $AUXILIAR)

我仍然想知道为什么它没有拆分为折线。

约翰1024

默认情况下,一次read将仅读取一行例如,在这里我们提供3线输入,正如你所看到的,read只读取第一行:

$ IFS=$'\n' read -ra displays <<< $'a\nb\nc\n'; declare -p displays
declare -a displays='([0]="a")'

-d选项可用于更改此行为。例如:

$ IFS=$'\n' read -d '' -ra displays <<< $'a\nb\nc\n'; declare -p displays
declare -a displays='([0]="a" [1]="b" [2]="c")

在这里,-d ''被使用。这告诉read阅读,直到找到一个NUL字符为止。由于bash字符串中永远不会存在NUL字符,因此这会导致它读取我们提供给here字符串的所有输入。

使用 %

$ IFS=% read -ra displays <<< 'a%b%c'; declare -p displays
declare -a displays='([0]="a" [1]="b" [2]="c")'

使用%作品是因为read继续阅读过去%默认情况下,它仅对换行符停止。

其他

对于变量,请使用小写或大小写混合的名称,这是最佳做法。系统使用大写名称,并且您不希望意外覆盖其中之一。例如,DISPLAY是一个系统变量,如果覆盖它,可能会出现许多不愉快的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我在哪里放xrandr --dpi?

来自分类Dev

什么是crtc?我可以使用xrandr启用多少输出?

来自分类Dev

用grep -n --colour替换grep命令?

来自分类Dev

我正在尝试使用GLU.gluPerspective(),但是它给了我静态引用错误

来自分类Dev

NVIDIA-Ubuntu 20.04-带有空白屏幕的HDMI第二个监视器,但是xrandr可以检测到它[错误消息在Launchpad和freedesktop的gitlab上报告了]

来自分类Dev

我的 Grep 命令根本不起作用 `grep -orE "<Table[\n\r\s]+showFilterBar=\{false\}" ./app`

来自分类Dev

但是Grep+的组合

来自分类Dev

Grep多行模式

来自分类Dev

如何从多行grep信息?

来自分类Dev

如何grep多行

来自分类Dev

python不会抓取文本,但是给了我一个空白

来自分类Dev

python不会抓取文本,但是给了我一个空白

来自分类Dev

"grep -q" vs "if [ -n/-z]"

来自分类Dev

Grep 第 n 个元素

来自分类Dev

如果尝试在计算机上使用命令,但xrandr为什么会给我错误,但如果我在计算机中使用SSH命令却不会给我错误?

来自分类Dev

xrandr --dpi不会影响i3wm上的Gnome Apps

来自分类Dev

xrandr不会在DisplayPort上检测到监视器

来自分类常见问题

我尝试使用R中的for循环为二维矩阵提供值,但是它给了我意外的NA值

来自分类Dev

我尝试使用R中的for循环为二维矩阵提供值,但是它给了我意外的NA值

来自分类Dev

我的显示器部分坏了。如何使用xrandr或任何类似工具减少可见空间?

来自分类Dev

即使xrandr显示“已断开连接”,我也可以强制VGA信号输出吗?

来自分类Dev

我可以根据当前设置为 xrandr 自动生成命令行吗?

来自分类Dev

grep入侵我的ps

来自分类Dev

grep入侵我的ps

来自分类Dev

我如何grep全部\\

来自分类Dev

我怎样才能grep除模式及其下n行以外的所有内容?

来自分类Dev

我怎样才能grep除模式及其下n行以外的所有内容?

来自分类Dev

Grep不会读取整个文件

来自分类Dev

如何跨多行“ grep”模式?

Related 相关文章

  1. 1

    我在哪里放xrandr --dpi?

  2. 2

    什么是crtc?我可以使用xrandr启用多少输出?

  3. 3

    用grep -n --colour替换grep命令?

  4. 4

    我正在尝试使用GLU.gluPerspective(),但是它给了我静态引用错误

  5. 5

    NVIDIA-Ubuntu 20.04-带有空白屏幕的HDMI第二个监视器,但是xrandr可以检测到它[错误消息在Launchpad和freedesktop的gitlab上报告了]

  6. 6

    我的 Grep 命令根本不起作用 `grep -orE "<Table[\n\r\s]+showFilterBar=\{false\}" ./app`

  7. 7

    但是Grep+的组合

  8. 8

    Grep多行模式

  9. 9

    如何从多行grep信息?

  10. 10

    如何grep多行

  11. 11

    python不会抓取文本,但是给了我一个空白

  12. 12

    python不会抓取文本,但是给了我一个空白

  13. 13

    "grep -q" vs "if [ -n/-z]"

  14. 14

    Grep 第 n 个元素

  15. 15

    如果尝试在计算机上使用命令,但xrandr为什么会给我错误,但如果我在计算机中使用SSH命令却不会给我错误?

  16. 16

    xrandr --dpi不会影响i3wm上的Gnome Apps

  17. 17

    xrandr不会在DisplayPort上检测到监视器

  18. 18

    我尝试使用R中的for循环为二维矩阵提供值,但是它给了我意外的NA值

  19. 19

    我尝试使用R中的for循环为二维矩阵提供值,但是它给了我意外的NA值

  20. 20

    我的显示器部分坏了。如何使用xrandr或任何类似工具减少可见空间?

  21. 21

    即使xrandr显示“已断开连接”,我也可以强制VGA信号输出吗?

  22. 22

    我可以根据当前设置为 xrandr 自动生成命令行吗?

  23. 23

    grep入侵我的ps

  24. 24

    grep入侵我的ps

  25. 25

    我如何grep全部\\

  26. 26

    我怎样才能grep除模式及其下n行以外的所有内容?

  27. 27

    我怎样才能grep除模式及其下n行以外的所有内容?

  28. 28

    Grep不会读取整个文件

  29. 29

    如何跨多行“ grep”模式?

热门标签

归档