약 20 개의 다른 서버에서 rsync 및 업데이트 파일을 사용하는 bash 스크립트를 작성 중입니다.
rsync 부분을 알아 냈습니다. 내가 겪고있는 것은 변수 목록을 살펴 보는 것입니다.
내 스크립트는 지금까지 다음과 같습니다.
#!/bin/bash
SERVER1="192.xxx.xxx.2"
SERVER2="192.xxx.xxx.3"
SERVER3="192.xxx.xxx.4"
SERVER4="192.xxx.xxx.5"
SERVER5="192.xxx.xxx.6"
SERVER6="192.xxx.xxx.7"
for ((i=1; i<7; i++))
do
echo [Server IP Address]
done
[Server IP Address]
연관된 변수의 값은 어디에 있어야합니다. 따라서 i = 1 일 때 $ SERVER1의 값을 에코해야합니다.
나는 이것을 포함하여 몇 가지 반복을 시도했다.
echo "$SERVER$i" # printed the value of i
echo "SERVER$i" # printer "SERVER" plus the value of i ex: SERVER 1 where i = 1
echo $("SERVER$i") # produced an error SERVER1: command not found where i = 1
echo $$SERVER$i # printed a four digit number followed by "SERVER" plus the value of i
echo \$$SERVER$i # printed "$" plus the value of i
스크립팅 한 지 오래되어서 뭔가 빠진 것을 알고 있습니다. 또한 지난 11 년 동안 사용한 C #을 사용하여 할 수있는 작업을 혼합하고 있다고 확신합니다.
내가 가능한 일을하려고합니까? 아니면이 값을 배열에 넣고 배열을 반복해야합니까? 위치 이름뿐만 아니라 프로덕션 IP 주소에도 이와 동일한 사항이 필요합니다.
이것은 원격 서버의 파일을 동기화하는 데 사용할 코드 블록을 반복 할 필요가 없도록하기위한 것입니다.