bash:不了解这两种方法之间的区别-应该相同,但是不是吗?]]

问题描述 投票:0回答:1

我有一个文件:$ cat /tmp/test.txt 1 "African Countries AFR" 2 "Albania AL" 3 "Arab Countries ARB" 4 "Austria AT"

我正在尝试学习此linux实用程序,但这显然是错误的:

$ dialog --menu "Choose toppings:" 35 35 5 $(cat /tmp/test.txt)

                                  │ │    1          "African      │ │  
                                  │ │    Countries  AFR"          │ │  
                                  │ │    2          "Albania      │ │  
                                  │ │    AL"        3             │ │  
                                  │ │    "Arab      Countries     │ │  
                                  │ │    ARB"       4             │ │  
                                  │ │    "Austria   AT"           │ │  

所以我认为我应该尝试不使用换行符:

$ dialog --menu "Choose toppings:" 35 35 5 $(cat /tmp/test.txt | tr -d '\n')

但是那也是错误的(与上面相同的结果!经过很多努力之后,我决定尝试手动添加内容并在命令行上将其作为参数输入:

$ cat /tmp/test.txt | tr -d '\n'
     1 "African Countries AFR"     2 "Albania AL"     3 "Arab Countries ARB"     4 "Austria AT"

所以这是命令行和结果:

$ dialog --menu "Choose toppings:" 30 35 5   1 "African Countries AFR"     2 "Albania AL"     3 "Arab Countries ARB"     4 "Austria AT"

                                  │ │  1  African Countries AFR   │ │  
                                  │ │  2  Albania AL              │ │  
                                  │ │  3  Arab Countries ARB      │ │  
                                  │ │  4  Austria AT              │ │  

突然结果是正确的-为什么?

而且我如何修改“ dialog --menu”行,选择浇头:“ 35 35 5 $(cat /tmp/test.txt | tr -d'\ n')”,这样才能给出正确的结果?

[我有一个文件:$ cat /tmp/test.txt 1“非洲国家AFR” 2“阿尔巴尼亚AL” 3“阿拉伯国家ARB” 4“奥地利AT”我正在尝试学习此linux实用程序,但这显然是...

bash menu dialog tr
1个回答
0
投票

使用--file选项:

© www.soinside.com 2019 - 2024. All rights reserved.