나는 sed 명령을 사용하여 ifcfg 파일을 편집하는 루프를 생성하여 시간을 절약하려고 노력해 왔습니다. 테스트하기 위해 먼저 다음 루프를 시도했습니다.
for k in `cat *FILE CONTAINING HOSTNAME*`; do echo $k; ssh -t *USER*@$k "for l in `ls /etc/sysconfig/network-scripts/ | grep ifcfg-ens`; do echo $l; done"; done
이 작업은 호스트 이름, 행 공간을 반환하고 연결이 닫히는 것뿐입니다.
그런 다음 다음을 시도했습니다.
for k in `cat *FILE CONTAINING HOSTNAME*`; do echo $k; ssh -t *USER*@$k "for l in \`ls /etc/sysconfig/network-scripts | grep ifcfg-ens\`; do echo $l; done"; done
이는 호스트 이름과 8줄 공백을 반환하지만(예상대로 출력을 인쇄하는 것과 같음) 터미널에는 실제 출력이 없습니다.
누군가 내가 이것을 달성할 수 있는 방법에 대한 아이디어가 있다면 감사하겠습니다.
고쳐 쓰다:여기서 궁극적인 목표는 sed 명령을 실행하여 /etc/sysconfig/network-scripts의 ifcfg-ens* 파일에서 1~13행을 제거하는 것입니다. 그런 다음 비슷한 for 루프를 사용하여 약 10개의 호스트에 대한 파일에 줄을 추가합니다.
ls /etc/sysconfig/network-scripts/ | grep ifcfg-ens의 출력은 원격 호스트에서 다음을 반환합니다.
ls /etc/sysconfig/network-scripts | grep ifcfg-ens
ifcfg-ens1f0
ifcfg-ens1f1
ifcfg-ens2f0
ifcfg-ens2f1
ifcfg-ens7f0
ifcfg-ens7f1
ifcfg-ens8f0
ifcfg-ens8f1
최선을 다하세요, 잭