![현지화된 CLI에서 명령을 실행하기 위한 Bash 스크립트 [닫기]](https://linux55.com/image/126840/%ED%98%84%EC%A7%80%ED%99%94%EB%90%9C%20CLI%EC%97%90%EC%84%9C%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%9C%20Bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
로컬 스위치 CLI에 액세스하고 간단한 "showconfigure"를 실행하는 명령을 실행하려고 합니다. 스크립트는 로그인하지만 아무 작업도 수행하지 않습니다. 나는 이것이 일단 서브터미널에 로그인하면 명령이 해석되지 않기 때문이라고 생각합니다. 어떤 아이디어가 있나요?
$a1 = "show config"
exec cli
sleep 2
exec $a1
exec exit
답변1
그 후에는 exec cli
쉘 스크립트가 다음 행 실행으로 돌아가지 않고 쉘 프로세스가 새 프로세스로 대체되었기 sleep 2
때문에 더 이상 존재하지 않습니다 .exec
cli
나는 당신이 그 효과를 정말로 원하지 않고 exec
그것을 제거해야 한다고 생각합니다.
무엇을 하려는지 잘 모르겠지만 show config
에서 명령을 실행 한다고 가정하고 cli
입력에 명령을 작성해 보십시오.
printf "show config" | cli
비슷하지만 매우 어려운 경우는 다음을 참조하세요.expect