2017-02-08 1 views
0

직장에서 작업을 자동화하려고합니다. 그들 중 하나는 별칭을 실행하는 것이고, 그 중 하나는 bash 터미널에서 새로운 터미널 인 XTerm을 생성합니다. 이제이 터미널을 생성 한 후에이 새로운 터미널에 몇 가지 명령을 추가로 제공해야합니다.새로 생성 된 터미널에 인수 전달

어떻게 달성 할 수 있습니까? 내가 생각할 수있는 한 가지 방법은 expect 스크립트를 사용하여 이러한 작업을 처리하는 것입니다. 이게 효과가 있니? 그렇지 않은 경우 새 터미널에서 명령을 실행하는 방법이 있습니까?

편집 :이 발견 스크립트 내에서

....

execcmd="xterm -sb -sl 5000 -T "'`/usr/bin/hostname -s`.$LOADL_STEP_CLASS'" -e $path run_interactive [email protected] 

나는이 .. 나는이 스크립트에 몇 가지 명령을 실행하는 데 필요한 새로운 xterm 등을 소재로 급부상 한 생각

그런 다음 스크린에 침을 뱉어서 "priority-level :"과 같은 특정 문자열을 찾고, 나머지는 나를 위해 일하는 간단한 정규 표현식이 될 것이지만, 스폰 한이 새로운 xterm과의 상호 작용을 자동화하고 싶습니다. .

추신 : 다른 많은 사람들이 사용하고있는 스크립트를 엉망으로 만들지 않고,이 터미널에 인수를 전달하는 간단한 방법이 없습니다. 그래서 원래의 별칭을 수정할 수 없으며 어쨌든 래퍼를 작성할 수 있습니다.

+0

GUI (예 : xterm)를 제어 할 수 없으므로 expect가 작동하지 않습니다. 현재 별칭을 표시하십시오 –

+1

쉘 시작 파일에 명령을 입력 할 수 있습니까? – tomasz

+0

질문을 수정했습니다. 다시 확인해주십시오. – ArunMKumar

답변

0

xterm에 대한 -e *args* 플래그는 무엇입니까? 그것은 당신이 거기서 먹이를 무엇이든 돌리려고합니다. 그래서 당신이 스크립트 나 명령이 당신이 필요로하는 여분의 단계를 수행하도록 그 인자를 수정한다면, 당신은 끝났습니다.

다른 방법은 쉘 시작 스크립트가 호출되도록 xterm 쉘을 로그인 쉘로 만드는 것이지만 사용자 환경에 적합한 모든 로그인 쉘에 대해 xterm 쉘을 호출하는 부작용이 있습니다.

+0

내가 먹을 필요가있는 것은 하나의 명령이나 일련의 명령이 아니라 대화 형 세션입니다. 더 많은 명령을 실행하고 출력에 따라 다른 명령을 실행해야합니다. args의 일부로 실행될 expect 스크립트를 전달하면 작업을 수행 할 수 있습니까? 또한 대안에 대해 좀 더 자세히 설명 할 수 있습니다. – ArunMKumar