我对 Linux 编程和 Bash 脚本几乎完全陌生。我建立了一个业余 radio AllStar 节点。
我正在尝试创建一个脚本来查看某个变量,并根据该信息决定是否应该连接。我可以使用命令:asterisk -rx "rpt showvars 47168
。这会返回变量列表及其当前值。我可以将整个列表存储到我定义的变量中,在我的测试脚本中只是将其命名为 MYVAR
,但我似乎无法只获取所列变量之一的值。
我和一个非常了解 Linux 编程的人谈过,她建议我尝试 CONNECTED="${MYVAR[3]}"
但是当我这样做时,CONNECTED
似乎变成了一个空白变量。
真正让我感到沮丧的是,我用其他编程语言编写过程序,并且有人告诉我 Bash 脚本很容易学习,但我似乎无法理解这一点。
所以任何帮助都会很棒。
最佳答案
你是如何分配你的变量的?
在我看来,您想使用数组,那么:
#!/bin/bash
myvar=( $( asterisk -rx "rpt showvars 47168 ) )
echo ${mywar[3]} # this is your fourth element
echo ${#myvar[@]} # this is the total of element in your array
注意数组中的索引从 0 开始
关于linux - 全明星节点编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49565844/