我想将命令的输出写入变量netctl list
。如果在终端调用它,输出将是这样的:
* WIFI-1
WIFI-2
WIFI-3
星号“*”表示活动的 Wi-Fi 配置文件。但是,如果您尝试将此输出写入变量:
profiles=$(netctl list)
然后将删除所有到新行的转换,以及星号“*”。也就是说,变量将是:
WIFI-1 WIFI-2 WIFI-3
如何改变 bash 的这种行为?
更新:
这是一个场景:
#!/usr/bin/bash
profiles=$(netctl list)
echo $profiles
一般显示
wifi.sh WIFI-1 WIFI-2 WIFI-3
其中“wifi.sh”是脚本文件的名称。毕竟,我不会在任何地方显示这个名字。
它们实际上并没有被删除。只是输出错误的方式: