注- これは重複ではありません。bash 出力の bash 配列への変換に関する質問は他にもありますが、インラインで行うものはありません。インラインが必要な理由は、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コマンドです(ここで、1行にまとめてみました)。
until nc -z $SERVER_DNS_NAME ${$(dig +noall +answer $SERVER_DNS_NAME SRV)[6]}
変数置換に問題があるようです。私の質問は: bash コマンド出力を配列インラインにネストする方法は?