Возможно, я бы хотел сделать это немного проще, используя массив для хранения различных значений HOST
, например:
$ HOST=(dummy cassandraeast1 cassandraeast2 cassandraeast3 cassandraeast4 cassandrawest1 cassandrawest2 cassandrawest3 cassandrawest4)
ПРИМЕЧАНИЕ. Я добавил «пустышку» в качестве заполнителя для заполнения позиция с индексом = 0; это позволяет вам продолжать использовать текущий диапазон ({1..8}
) без каких-либо изменений кода.
$ typeset -p HOST
declare -a HOST=([0]="dummy" [1]="cassandraeast1" [2]="cassandraeast2" [3]="cassandraeast3" [4]="cassandraeast4" [5]="cassandrawest1" [6]="cassandrawest2" [7]="cassandrawest3" [8]="cassandrawest4")
ПРИМЕЧАНИЕ. Вы можете удалить запись индекса 0, если хотите (хотя это не должно вызывать никаких проблем). для вашего текущего кода):
$ unset HOST[0]
$ typeset -p HOST
declare -a HOST=([1]="cassandraeast1" [2]="cassandraeast2" [3]="cassandraeast3" [4]="cassandraeast4" [5]="cassandrawest1" [6]="cassandrawest2" [7]="cassandrawest3" [8]="cassandrawest4")
Затем вы можете изменить свой код следующим образом для ссылки на значения массива:
old: echo "SSH$num=ssh -i $KEY $no_key_check $USER@$HOST$num"
new: echo "SSH${num}=ssh -i ${KEY} ${no_key_check} ${USER}@${HOST[${num}]}"
ПРИМЕЧАНИЕ. В этом случае фигурные скобки ({}
) являются необязательными для имен переменных, но я предпочитаю использовать их для того, чтобы сделать имена переменных более заметными среди остального кода.
Что должно дать вам желаемый результат:
SSH1=ssh -i .ssh/shantip_rsa -o LogLevel=QUIET -o StrictHostKeyChecking=no ssubra@cassandraeast1
SSH2=ssh -i .ssh/shantip_rsa -o LogLevel=QUIET -o StrictHostKeyChecking=no ssubra@cassandraeast2
SSH3=ssh -i .ssh/shantip_rsa -o LogLevel=QUIET -o StrictHostKeyChecking=no ssubra@cassandraeast3
SSH4=ssh -i .ssh/shantip_rsa -o LogLevel=QUIET -o StrictHostKeyChecking=no ssubra@cassandraeast4
SSH5=ssh -i .ssh/shantip_rsa -o LogLevel=QUIET -o StrictHostKeyChecking=no ssubra@cassandrawest1
SSH6=ssh -i .ssh/shantip_rsa -o LogLevel=QUIET -o StrictHostKeyChecking=no ssubra@cassandrawest2
SSH7=ssh -i .ssh/shantip_rsa -o LogLevel=QUIET -o StrictHostKeyChecking=no ssubra@cassandrawest3
SSH8=ssh -i .ssh/shantip_rsa -o LogLevel=QUIET -o StrictHostKeyChecking=no ssubra@cassandrawest4