我对Linux编程和Bash Scripts几乎完全陌生。我构建了一个业余无线电AllStar节点。
我正在尝试创建一个脚本,该脚本查看某个变量,并根据该信息决定是否应该连接。我可以使用一个命令:asterisk -rx "rpt showvars 47168。这将返回变量及其当前值的列表。我可以将整个列表存储到我定义的变量中,在我的测试脚本中,我只是将其命名为MYVAR,但我似乎不能只获取其中一个列出的变量的值。
我和一个非常了解Linux编程的人谈过,她建议我试试CONNECTED="${MYVAR[3]}",但是当我这样做的时候,CONNECTED似乎成了一个空白变量。
真正让我沮丧的是,我曾用其他编程语言编写过程序,有人告诉我Bash脚本很容易学习,但我似乎无法理解。
所以任何帮助都是很好的。
发布于 2018-04-01 11:10:28
你是如何分配你的变量的?
在我看来,您想要处理一个数组,然后:
#!/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开始
https://stackoverflow.com/questions/49565844
复制相似问题