나는 bash 스크립트를 생성하는 CLI를 가지고있다. .sh 파일로 리디렉션하지 않고 immediatly 어떻게 평가할 수 있습니까?Bash - 다른 스크립트에서 출력되는 스크립트를 실행하는 방법
~: toolWhichGeneratesScript | evaluate
나는 bash 스크립트를 생성하는 CLI를 가지고있다. .sh 파일로 리디렉션하지 않고 immediatly 어떻게 평가할 수 있습니까?Bash - 다른 스크립트에서 출력되는 스크립트를 실행하는 방법
~: toolWhichGeneratesScript | evaluate
당신은 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.
셸로 파이핑하는 것과 달리, 이렇게하면 프롬프트가 실행되고 스크립트가 실행되는 프로그램과 상호 작용할 수있게됩니다.
는 쉘은 표준 입력에서의 스크립트를 읽
toolWhichGeneratesScript | sh
(사실, 대화 형 쉘은 같은 않으며, 표준 입력은 단지 터미널 될 일입니다.) 당신이 필요로하는
주 알고 싶은 어느 껍질; 도구에서 bash
개의 확장자를 출력하면 bash
으로 파이프해야합니다. 또한 생성 된 스크립트 자체가 표준 입력에서 읽어야 할 경우 약간의 문제가 있습니다.
다음을 시도해보십시오. toolWhichGeneratesScript | bash
매우 빠른 답변에 감사드립니다. 내가 그렇게 생각하지 않는다는 것을 당혹스럽게 생각합니다! 누구의 대답은 내가 제외해야합니까 ??? –
'toolWhichGeneratesScript'가 * 매우 * 긴 스크립트를 만들지 않는 한 가장 유연한 해결책이기 때문에 @thatotherguy에서 제안한 것을 받아 들일 것입니다.이 경우 다른 스크립트는 더 안전합니다. – user1934428