Execute o Safari a partir do terminal com o endereço URL especificado sem comando de abertura

7

Estou com problemas para abrir o Safari no terminal. Comando que tentei é

/Applications/Safari/Contents/MacOS/Safari http://www.example.com

O Safari abre e tenta navegar para o URL:

file:///Current/Terminal/Path/Here/http:/www.example.com

Eu sei, eu poderia fazer isso usando open :

open -a safari http://www.example.com

Mas não posso. O quadro geral é bem complicado: na verdade, estou tentando executar o navegador a partir do aplicativo .NET de linha de comando (que está sendo executado em mono). Eu uso a classe System.Process .net para executar o comando e tenho que ser capaz de controlar o processo (obter o ID do processo, verificar se está ativo, eliminá-lo, se necessário, etc.). Usar o comando open não retorna o Id do processo correto (tentei usar open com -W switch - também não ajuda).

    
por MarcinJuraszek 16.12.2013 / 23:49

1 resposta

6

Uma solução faria isso em duas vezes

  • Safari aberto
  • Usando o AppleScript para abrir o URL tell application "Safari" to open location "http://www.google.com"

Aqui está um oneliner:

/Applications/Safari.app/Contents/MacOS/Safari & sleep 1 && osascript -e 'tell application "Safari" to open location "http://www.google.com"'

NB: você precisa esperar antes de executar o AppleScript porque o Safari ainda não foi iniciado. O sleep 1 pode não funcionar em todos os casos, já que dependerá de quanto tempo o Safari precisará para iniciar.

    
por 17.12.2013 / 03:31