私の現在の使用例では、あるサーバーから 1 つ以上の他のサーバーにログ ファイルをコピーする scp スクリプトを作成しています。
いえ
server1:/my/path1/log-files.* --> log_server1:/log/path1/server1
server1:/my/path2/log-files.* --> log_server2:/log/path/server1
server1:/my/path3/log-files.* --> log_server1:/log/path2/server1
ログ ファイルの構成に bash (バージョン 4) で連想配列 (配列) を使用し、すべての A. 配列をループして、それらの名前をインデックス付き配列に入れたいと考えています。
しかし、変数を A. Array の名前として使用して、名前付きの A. Array を参照する方法に困惑しています。
例:
#!/bin/bash
# GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu) from RedHat/CentOS 6.4
declare -A log_server1 log_server2
log_server1=([name]="ls1" [user]="user")
log_server2=([name]="ls2" [user]="user")
declare -A log1 log2 log3
log1=([log_server]="log_server1" [path]="/my/path1" [file]="log-files" [rpath]="/log/path1/server1")
log2=([log_server]="log_server2" [path]="/my/path2" [file]="log-files" [rpath]="/log/path/server1")
log3=([log_server]="log_server1" [path]="/my/path3" [file]="log-files" [rpath]="/log/path2/server1")
logs=(log1 log2 log3)
for log in ${logs[@]}
do
# How can I now refer to the A. Array by the name of "log1", etc ?
...
done