2016-12-06 14 views
1

새 터미널을 열고 OSX에서 일부 값을 전달하고 싶습니다. 이 코드를 시도 :새 터미널에 인수 값 보내기

open_new_terminals_automatically() 
{ 
    osascript -e 'tell application "Terminal" to do script "cd $1; $2"' 
} 

# call the function and pass arguments 
open_new_terminals_automatically "/root/var/fome_path" "some_commnds -argument" 

이것은 내가하고 싶은 것을 설명하기위한 매우 간단한 예입니다. OS X에서 bash 스크립트로 실행하려면 어떻게 구현할 수 있습니까?

+0

는이를 위해, 나는 보통 필요한 모든 명령과 함께 여기-문서 강타 파일을 생성 할 다음 나는 단지 실행하는 새 터미널을 실행 필요한 모든 명령이 들어있는 here-doc이 생성되었습니다 – OscarAkaElvis

+0

제 스크립트를 사용하여 예제를 좀 들려 주시겠습니까? –

+0

그런데 다른 방법이 있습니까? –

답변

0

변수 확장이 제대로 작동하려면 작은 따옴표 대신 큰 따옴표를 사용해야한다는 점만 제외하면 거의 효과가 있습니다.

그냥 내용

osascript -e "tell application \"Terminal\" to do script \"cd $1; $2\"" 

그럼 당신은 sh run.sh "/root/var/fome_path" "some_commnds -argument"로 호출 할 수 있습니다

있는 스크립트 run.sh을 만들 수 있습니다.

이 모두 하나의 스크립트에서 수행 할 경우, 단지

open_new_terminals_automatically() 
{ 
    osascript -e "tell application \"Terminal\" to do script \"cd $1; $2\"" 
} 

# call the function and pass arguments 
open_new_terminals_automatically "/root/var/fome_path" "some_commnds -argument"