Não foi possível iniciar o aplicativo usando o comando "open" no Terminal

2

Recentemente, comecei a usar muito o Terminal.app. Imaginei que o opencomando seria útil para abrir arquivos como HTML, CSS, etc.

Eu tentei o aplicativo Visual Studio Code da Microsoft. O aplicativo em si está funcionando bem sem instalação. O problema é quando eu uso o comando: open -ae pressione tab, o aplicativo Visual Studio Code não aparece.

Gostaria de saber se existe uma maneira de instalar o aplicativo corretamente? Eu li que o man opencomando depende do LaunchServices e não consigo encontrar uma maneira de registrar o aplicativo neste serviço.

lilw
fonte

Respostas:

3

Os argumentos a serem open -acomandados podem ser Tabpreenchidos automaticamente, se você especificar o caminho do diretório pai, por exemplo open -a /Applications.

Tente executar a seguinte linha de comando para iniciar o Visual Studio Code no Terminal:

open -a "Visual Studio Code"

Para abrir um arquivo chamado index.html com o aplicativo Visual Studio Code usando o opencomando, digite:

open -a "Visual Studio Code" index.html

Observe que você precisa colocar o nome do aplicativo que contém espaços entre aspas duplas.

Além disso, citando a partir da página de manual:

O comando abrir abre um arquivo (ou um diretório ou URL), como se você tivesse clicado duas vezes no ícone do arquivo. Se nenhum nome de aplicativo for especificado, o aplicativo padrão, conforme determinado via LaunchServices, será usado para abrir os arquivos especificados.

A instrução se refere ao caso em que você está tentando abrir um arquivo usando o opencomando Para iniciar um aplicativo, a sintaxe é simplesmente um opencomando seguido por espaço, seguido por -asinalizador, outro espaço e depois o nome do aplicativo (incluído "se o nome contiver espaços).

Se você ainda não instalou o aplicativo, instale-o, copiando o pacote Visual Studio Code.app no /Applicationsdiretório

Nimesh Neema
fonte
1
Supõe-se que, se você estiver usando a -abandeira, especifique o aplicativo. Exemplo: open -a /Applications/Komodo\ Edit\ 11.app/ "foo.bar"e auto conclusão faz trabalho. Você deve iniciar do caminho para o diretório (ie /Applications)
Allan
Em vez de ter de citar uma aplicação, eu prefiro usar o identificador de pacote com o comando aberto, comoopen -b com.apple.DiskUtility
fd0
Obrigado pela ajuda, mas o motivo pelo qual perguntei, porque quando eu uso o `open -a 'com aplicativos instalados corretamente, como o VMware Fusion, só preciso tabular e o preenchimento automático sugere isso para mim. O problema aqui é que alguns aplicativos foram executados sem instalação e o preenchimento automático não é possível.
21718 lilw
1
O recurso de preenchimento automático do @lilw bash não é sensível ao contexto por padrão. Ele não sabe que o que segue open -a deve ser um nome ou caminho de aplicativo, apenas aplica suas regras padrão para o preenchimento automático, que basicamente supõem que você esteja preenchendo um caminho de arquivo ou o nome de um arquivo no diretório atual. Você pode escrever uma regra de preenchimento automático personalizada para essa situação, mas seria muito trabalhoso. Ou, você pode começar open -a /Applications/, para que os candidatos padrão de preenchimento automático sejam aplicativos.
Gordon Davisson
@GordonDavisson obrigado pela sua resposta, acho que essa pode ser a minha resposta, escrevendo uma regra para ela. Sim, é complicado.
LILW