2016-09-15 2 views
0

나는 bash 스크립트를 생성하는 CLI를 가지고있다. .sh 파일로 리디렉션하지 않고 immediatly 어떻게 평가할 수 있습니까?Bash - 다른 스크립트에서 출력되는 스크립트를 실행하는 방법

~: toolWhichGeneratesScript | evaluate 
+0

매우 빠른 답변에 감사드립니다. 내가 그렇게 생각하지 않는다는 것을 당혹스럽게 생각합니다! 누구의 대답은 내가 제외해야합니까 ??? –

+0

'toolWhichGeneratesScript'가 * 매우 * 긴 스크립트를 만들지 않는 한 가장 유연한 해결책이기 때문에 @thatotherguy에서 제안한 것을 받아 들일 것입니다.이 경우 다른 스크립트는 더 안전합니다. – user1934428

답변

2

당신은 bash -c (또는 sh -c)로 실행하는 명령에 전달할 수 있습니다 :

bash -c "$(toolWhichGeneratesScript)" 

~: toolWhichGeneratesScript > tmp.sh 
~: chmod +x tmp.sh 
~: ./tmp.sh 

같은 뭔가 :

예는 다음과 같은 변경하는 것입니다

-c  If the -c option is present, then commands 
      are read from the first non-option argument 
      command_string. If there are arguments 
      after the command_string, they are assigned 
      to the positional parameters, starting with 
      $0. 

셸로 파이핑하는 것과 달리, 이렇게하면 프롬프트가 실행되고 스크립트가 실행되는 프로그램과 상호 작용할 수있게됩니다.

1

는 쉘은 표준 입력에서의 스크립트를 읽

toolWhichGeneratesScript | sh 

(사실, 대화 형 쉘은 같은 않으며, 표준 입력은 단지 터미널 될 일입니다.) 당신이 필요로하는

주 알고 싶은 어느 껍질; 도구에서 bash 개의 확장자를 출력하면 bash으로 파이프해야합니다. 또한 생성 된 스크립트 자체가 표준 입력에서 읽어야 할 경우 약간의 문제가 있습니다.

0

다음을 시도해보십시오. toolWhichGeneratesScript | bash