제가 자주 연결하는 서버 목록이 있습니다. 이름은 다음과 같습니다 server001
. server002
.... server999
나는 이러한 서버 이름으로 하드코딩된 1000개의 별칭을 저장하고 싶지 않습니다. 또한 함수를 작성하고 숫자를 매개변수로 사용하고 싶지 않습니다.
내 명령 입력 " "을 받아들이고 server005
하드코드된 별칭 목록을 저장하지 않고 이를 " " 명령으로 변환할 수 있도록 별칭을 유연하게 만드는 방법이 있습니까?ssh [email protected]
답변1
루프에서 별칭을 정의할 수 있습니다.
for l in {0..999}
do
id=$(printf %03d $l)
alias server$id="ssh user@server$id"
done
그러면 패턴을 기반으로 1000개의 별칭이 생성됩니다.
bash-4.2$ alias | grep server | head
alias server000='ssh user@server000'
alias server001='ssh user@server001'
alias server002='ssh user@server002'
alias server003='ssh user@server003'
alias server004='ssh user@server004'
alias server005='ssh user@server005'
alias server006='ssh user@server006'
alias server007='ssh user@server007'
alias server008='ssh user@server008'
alias server009='ssh user@server009'