많은 VLAN에 대해 단일 명령을 추가해야 하는데 어떻게든 간단한 텍스트 파일을 생성할 수 있는지 궁금합니다. 그런 다음 텍스트 파일을 네트워크 스위치에 붙여넣기만 하면 필요한 줄이 추가됩니다.
기본적으로 이 단일 명령은 다음과 같습니다.
ip dhcp-relay 10.32.150.129 10.32.50.1 enable
.50씩 1씩 증가하면서 연속적으로 실행되어야 합니다.
그러면 .50, .51, .52, .53...이 됩니다.
그러면 다음과 같은 파일이 생성됩니다.
ip dhcp-relay 10.32.150.129 10.32.50.1 enable
ip dhcp-relay 10.32.151.129 10.32.51.1 enable
ip dhcp-relay 10.32.152.129 10.32.52.1 enable
등...
여기 내 스크립트가 있어요
#!/bin/bash
if xy=50
echo "ip dhcp-relay 10.32.150.129 10.32.50.1 enable" >> pastethisinswitch.txt
echo "ip dhcp-relay 10.32.1xy.129 10.32.xy.1 enable" >> pastethisinswitch.txt
xy+1
until xy=99
done
답변1
설명대로라면 정말 간단합니다.
for k in {50..99}; do echo ip dhcp-relay 10.32.1$k.129 10.32.$k.1 enable; done > pastethisinswitch.txt
하지만 그렇게 하면 최대 99까지만 확장됩니다.
다음과 같이 최대 254까지 확장할 수 있습니다.
for k in {50..154}; do echo ip dhcp-relay 10.32.$(expr 100 + $k).129 10.32.$k.1 enable; done > pastethisinswitch.txt
원래 시도는 작업 형식에서 다음과 같습니다.
#!/bin/bash
k=50
while [ "$k" -lt "100" ];
do
echo "ip dhcp-relay 10.32.1$k.129 10.32.$k.1 enable " >> outfile
k=$((k+1))
done
그러나 많은 대체 형식도 작동할 수 있습니다.