20개 정도의 명령이 있는데 모두 Unix 셸로 보내고 결과를 복사해야 하는데 방법을 모르겠습니다.
모바일 네트워크 관리에 연결된 애플릿이기 때문에 어떤 쉘이 있는지 잘 모르겠습니다. 이 애플릿을 통해 라인을 통해 명령을 보내고 비명을 통해 결과를 받을 수 있으므로 스크립트를 사용하여 명령을 보낼 수 없습니다.
명령 1- 서버에 연결합니다.
명령 1이 완료될 때까지 기다립니다.
명령 2- 1번 서버의 모든 정보 업데이트 완료
기다리다.
명령 3. 몇 가지 매개변수를 가져옵니다.
...그리고 더 많은 명령이 있습니다.
나시험을 마친그리고cmd1 | cmd2 | cmd3
그리고 cmd1 & cmd2 & cmd3
그리고cmd1;cmd2
문제는 cmd1
RNC(네트워크 요소)에 연결되는데, cmd2
이해되기까지 약 15초 정도 걸린다는 점이다. 그러나 첫 번째 명령에만 해당됩니다. 이것을 실행하는 방법에 대한 단서가 있습니까?
답변1
일반적으로 cmd1;cmd2;cmd3;cmd4
(한 줄에 작성하려는 경우) 또는 cmd1 && cmd2 && cmd3 && cmd4
cmd2가 실패할 때 cmd3을 실행하고 싶지 않은 경우입니다.
또는 ;
한 줄에 하나의 명령만 작성할 수도 있습니다.
cmd1
cmd2
cmd3
cmd4
명령을 백그라운드에서 병렬로 실행하려면 다음을 사용할 수도 있습니다.
cmd1 &
cmd2 &
cmd3 &
cmd4 &
wait # for cmd1-4 to finish
이러한 방법 중 하나를 쉘 스크립트에 넣을 수 있습니다. 쉘 스크립트에 작성하는 내용은 실제 쉘 자체에 작성하는 내용과 거의 구별할 수 없습니다.
답변2
sleep
환경이 허용하는 경우 이에 대해 조사해 볼 수도 있습니다. 전체 순서는 다음과 같습니다 cmd1 && sleep 10s && cmd2
.
이것은 관련이 있습니다수면을 위한 매뉴얼 페이지.
답변3
다음과 같이 순차적으로 실행되는 명령이 포함된 파일인 스크립트를 사용하세요.
#!/bin/sh
command-01
command-02
...
command-20
첫 번째 줄(shebang)은 다음 명령( )을 실행하여 /bin/sh
파일을 실행 가능하게 만들고 chmod u+x your-little-script
를 통해 실행할 수 있음을 나타냅니다 ./my-little-script
. 이렇게 하면 한 단계도 놓치지 않습니다 ;-)
완전한 프로그래밍 언어를 제공하는 셸 설명서를 읽어보세요. bash(1)
이것이 사용 가능한지 확인하고 , 그렇지 않으면 Korn shell 을 확인하십시오 ksh(1)
. 이는 스크립트에서(또는 대화식으로) 제어 흐름을 제어하는 데 유용한 많은 기능을 제공합니다.
답변4
expect
로컬 컴퓨터에서 비슷한 명령을 실행하여 전송 cmd1
하기 전에 전송이 완료될 때까지 기다릴 수 있습니다 cmd2
. 올바른 명령 기대 스크립트를 작성하려면 합리적인 대기 시간 또는 명령이 완료되었음을 나타내는 특정 출력을 계산해야 합니다.
물론, cmd1; cmd2; cmd3; cmd4
명령 내에서는 명령이 순차적으로 실행됩니다.