대화식 bash 스크립트의 Dock 바로 가기


0

OSX를 처음 사용하고 터미널을 열고 첫 번째 명령을 입력하고 암호를 제공하기를 기다리는 Dock의 응용 프로그램 바로 가기를 원합니다. 다음은 실행하려는 스크립트입니다.

#!/usr/bin/env bash
sudo openconnect --user={username} {host}

그리고 Automator를 사용하여 만든 AppleScript는 다음과 같습니다.

do shell script "/usr/local/bin/openconnect --user={user} {host}" with administrator privileges

그러나 내가 그것을 실행할 때, 그것은 사용자 이름과 암호를 요구하면 종료됩니다. 내가 여기서 무엇을 놓치고 있습니까?

답변:


1

좋아, 나는 대답을 찾았다 고 생각한다.

tell application "Terminal"
    do script "sudo /usr/local/bin/openconnect --user={user} {host}"
    activate
end tell

1

Automator / AppleScript 애플릿을 사용하여이 명령을 실행하는 대신 터미널을 사용하여 시작시 해당 명령을 자동으로 실행할 수 있습니다.

  1. 터미널에서 터미널> 기본 설정으로 이동합니다.
  2. 일반 창의 "Shells open with :"에서 "Command (complete path) :"를 선택하십시오.
  3. 텍스트 필드에 명령을 입력하십시오.

이제 터미널이 열리면 해당 명령이 자동으로 실행됩니다.

터미널을 시작하고 자동으로 명령을 실행하지 않는 창을 열려면 위의 단계를 무시하고 다음 단계를 수행하십시오.

  1. 터미널에서 터미널> 기본 설정으로 이동합니다.
  2. 프로파일 창의 왼쪽에있는 목록에서 기본 프로파일을 찾아서 선택하십시오.
  3. 왼쪽 하단에서 톱니 바퀴 ⚙ 아이콘을 클릭하고 "중복 프로파일"을 클릭하십시오. 이 프로필에서 명령이 실행되지 않음을 나타내는 것으로 복제본에 레이블을 지정하십시오.
  4. 기본 프로필로 돌아가서 시작 레이블 아래에서 "명령 실행 :"확인란을 선택하고 텍스트 상자에 명령을 입력하십시오. "쉘 내부에서 실행"도 선택되어 있는지 확인하십시오.
  5. 터미널을 닫고 다시 시작하십시오. 창이 열리면 기본적으로 명령을 실행해야합니다. 명령을 실행하지 않고 터미널 창을 열려면 셸> 새 창> 복제 프로파일 이름으로 이동하십시오.

고맙지 만 터미널을 열지 않도록 Dock에 응용 프로그램 아이콘을 갖고 싶었습니다. Dock에 기본적으로 특정 프로파일을 여는 터미널 실행기가있을 수 있습니까?
norbertpy

터미널 사전에 프로파일 관련 개체에 대한 내용이없는 것 같습니다. 내 대답의 두 번째 단계를 따른 후 터미널을 도크에 넣지 않는 이유는 무엇입니까? 터미널은 문제없이 열리므로 왜 도킹하지 않습니까?
토마스 존스

내 접근 방식으로 터미널에 도크가 있지만 VPN 연결을 위해 도크에 다른 아이콘이 있습니다. VPN을 실행하지 않고 터미널을 열려면 어떻게해야합니까? 프로필간에 전환하려면 몇 번의 클릭이 필요합니까? 또한 VPN이 고정되어 있습니다. 연결되어 있으면 다른 터미널에 동일한 터미널을 사용할 수 없습니다. 다른 창이 필요합니다. 터미널을 시작할 때 기본적으로 열리는 두 개의 창을 만들지 않으면.
norbertpy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.