2016-12-06 3 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

はそれを行うために、私は通常、必要なすべてのコマンドとヒアドキュメントのbashのファイルを作成して行い、その後、私は実行する新しいターミナルを実行しますあなたが必要とするすべてのコマンドを含んでいるhere-docが作成されました – OscarAkaElvis

+0

スクリプトを使用して例を挙げてください。 –

+0

ところで、別の方法がありますか? –

答えて

0

変数展開が正しく機能するには、一重引用符ではなく二重引用符を使用する必要があります。

ちょうどその時あなたはsh run.sh "/root/var/fome_path" "some_commnds -argument"でそれを呼び出すことができる内容

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

でスクリプト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" 
関連する問題