如何将 bash 命令输出嵌套到数组中?
How to nest bash command output into an array inline?
注意 - 这不是重复的!还有其他问题涉及将 bash 输出转换为 bash 数组 - 但其中 none 内联 .您需要内联的原因是 until
。
我正在尝试编写一个 until
命令来解析来自 dig 命令的端口。
以下是分行的工作命令。
SERVER_DIG_RESULT=$(dig +noall +answer $SERVER_DNS_NAME SRV )
SERVER_STRING_ARRAY=($SERVER_DIG_RESULT)
SERVER_PORT=${SERVER_STRING_ARRAY[6]}
until nc -z $SERVER_DNS_NAME $SERVER_PORT
这个问题是在第一个 dig
命令是 运行 之后 dns 可能不会联机,所以你希望 until
命令到 运行 dig
一遍又一遍。
这是我的 until 命令(我试着把它放在一行)。
until nc -z $SERVER_DNS_NAME ${$(dig +noall +answer $SERVER_DNS_NAME SRV)[6]}
我似乎在变量替换方面遇到了问题。
我的问题是:How to nest bash command output into an array inline?
until
语句的条件不限于单个命令。
until SERVER_STRING_ARRAY=( $(dig +noall +answer "$SERVER_DNS_NAME" SRV)
SERVER_PORT=${SERVER_STRING_ARRAY[6]}
nc -z "$SERVER_DNS_NAME" "$SERVER_PORT"; do
...
done
注意 - 这不是重复的!还有其他问题涉及将 bash 输出转换为 bash 数组 - 但其中 none 内联 .您需要内联的原因是 until
。
我正在尝试编写一个 until
命令来解析来自 dig 命令的端口。
以下是分行的工作命令。
SERVER_DIG_RESULT=$(dig +noall +answer $SERVER_DNS_NAME SRV )
SERVER_STRING_ARRAY=($SERVER_DIG_RESULT)
SERVER_PORT=${SERVER_STRING_ARRAY[6]}
until nc -z $SERVER_DNS_NAME $SERVER_PORT
这个问题是在第一个 dig
命令是 运行 之后 dns 可能不会联机,所以你希望 until
命令到 运行 dig
一遍又一遍。
这是我的 until 命令(我试着把它放在一行)。
until nc -z $SERVER_DNS_NAME ${$(dig +noall +answer $SERVER_DNS_NAME SRV)[6]}
我似乎在变量替换方面遇到了问题。 我的问题是:How to nest bash command output into an array inline?
until
语句的条件不限于单个命令。
until SERVER_STRING_ARRAY=( $(dig +noall +answer "$SERVER_DNS_NAME" SRV)
SERVER_PORT=${SERVER_STRING_ARRAY[6]}
nc -z "$SERVER_DNS_NAME" "$SERVER_PORT"; do
...
done