Automator-Terminal의 결과 표시 명령


9

TL; DR Automator를 통해 .app를 만들면 대화 상자 나 터미널 창에 쉘 스크립트 결과를 어떻게 표시 할 수 있습니까?

쉘 스크립트를 실행하기 위해 Automator를 사용하고 있습니다.

adb install /Directory/$1.apk

그리고 Automator를 통해 실행하면 결과를 볼 수 있습니다 (성공적으로 설치되었거나 filname.apk 또는 터미널이 알려주는 것을 찾을 수 없음). 앱으로 저장하고 두 번 클릭하여 실행하면 이러한 결과를 볼 수 없습니다.

내가 실행 한 스크립트의 결과를 표시하는 대화 상자 나 터미널 창을 표시하려면 어떻게해야합니까?


이 질문을 사용하여 이것을 만들었습니다 : github.com/robertocaldas/AdbInstallService
Roberto

답변:


2

이 작업을 수행 할 수있는 몇 가지 방법이 있습니다.

  • 쉘 스크립트 실행확인 요청 조치 추가 및 메시지 필드 에서 사용 .$1
  • 또 다른 추가 실행 쉘 스크립트 및 실행 osascript -e 'tell app "System Events" to display dialog "$1"'. 패스 입력 드롭 다운 에서 인수 로 선택해야 합니다.

8
$1이러한 방법 중 하나로 표시됩니다 .
리드

@Jakar 나는 첫 번째 Run Shell Script 작업을 수행 하여 테스트 echo something했으며 확실히 작동합니다. 아마도 당신은 스크립트가 무언가를 반환하지 않는 것입니까?
Thecafremo

괜찮아. adb명령을 실행 한 후 터미널에 출력이 있지만 자동화 스크립트를 통해 출력하지 않기 때문에 (Android 개발자 SDK의 일부) 관련 이 있다고 생각합니다 .
Reed

약간의 변형은 문자열을 처리하는 보간 osascript -e '' '$ 1' '' '응용 프로그램 디스플레이 대화 상자의 "시스템 이벤트"이야기'
bingles

21

몇 줄의 출력 만있는 경우 이를 변수에 할당 한 다음 출력을 보여주는 확인 대화 상자를 표시하려고합니다.

  1. 조치 "변수 값 설정"추가
  2. 새로운 변수를 입력하십시오. 예 : output
  3. "확인 요청"조치 추가
  4. 메시지 필드에 위에 선언 된 변수 이름을 입력하십시오. 변수 이름을 입력하는 동안 Automator는 변수 이름을 완성하도록 제안합니다. Enter 키를 눌러 승인하십시오. 이렇게하면 Automator가 변수 이름을 일반 텍스트 메시지로 해석하지 못합니다.

이것은 다음과 같습니다 텍스트 출력 자동화 기

NB : 나는 또한이 $1접근법을 시도했지만 성공하지 못했습니다.

출력 줄이 많은 경우 모든 출력을 새 TextEdit 문서로 보내야합니다. 이렇게하려면 스크립트 작업 후에 "새 TextEdit 문서"작업을 추가하십시오.

이것은 다음과 같이 보일 수 있습니다 : 새 텍스트 편집 문서 작업

힌트 : 진단 메시지는 종종 표준 오류로 출력됩니다. 표준 오류로 전송되는 텍스트도 수집하려면 exec 2>&1bash 스크립트 맨 위에 추가 하십시오.


1
내가 필요한 것을 정확히 와우!
code4j

1
이 솔루션은 나를 위해 일한 반면 허용 된 버전은 그렇지 않았습니다
Ilias Karim

이것은 나에게 정말 유용했고 출력의 가치를 얻을 수없는 이유를 설명했습니다. 훌륭한 일
CommentLuv

텍스트 메이트 문서 를 열도록 수정할 수 있습니까 ?
Greg Greg

1

"변수 값 설정"을 사용해야 함

여기에 이미지 설명을 입력하십시오


정보가 적은 것을 제외하고 이것은 다니엘 K의 답변의 복제본이기 때문에 공감하려는 유혹을
느꼈습니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.