No macOS no Terminal padrão em execução bash
, posso digitar:
open -a Firefox http://www.wikipedia.org
para abrir um URL com o Firefox ou outro navegador. Também funciona para iniciar um programa, por exemplo open -a maps
, e para abrir um arquivo no programa padrão, por exemplo open file.pdf
.
Como posso fazer o mesmo no Ubuntu no Terminal GNOME padrão também em execução bash
? Eu sei que posso abrir um arquivo ou URL com xdg-open /path/to/file
e posso abrir o navegador padrão com sensible-browser
. O Ubuntu tem um comando geral para abrir arquivos, aplicativos ou arquivos em aplicativos específicos?
Eu estou correndo bash
em ambas as máquinas, 3.2.57(1)-release
no MacOS e 4.4.19(1)-release
no Ubuntu.
command-line
miguelmorin
fonte
fonte
open -a Firefox http://www.wikipedia.org
? Você não pode fazerfirefox http://www.wikipedia.org
? Parece um recurso inútil deopen
, quando abrir programas é o ponto principalbash
.bash: firefox: command not found
. Mesmo erro com oFirefox
nome do programa.bash
funciona exatamente da mesma maneira; é o Firefox instalado de forma diferente do Ubuntu. No macOS, você pode, por exemplo, executar/Applications/Firefox.app/Contents/MacOS/firefox-bin
na linha de comando.Firefox.app
é um tipo especial de pasta que não contém apenas o executável, mas arquivos que no Linux pode ser espalhados em vários/usr/bin/
,/usr/lib
,/etc
, etc. diretórios. O Finder sabe como executar o aplicativo real quando você, por exemplo, clica duas vezes emFirefox.app
.open
é uma maneira de "executar" a pasta especial na linha de comando.bash
funcione de maneira diferente: o Firefox está instalado como um aplicativo OS X (Firefox.app
) e não está no PATH comum. Outro motivo para usaropen -a
é que o aplicativo é iniciado em segundo plano corretamente, em vez de esperar até que ele saia.&
Respostas:
Você pode usar especificamente o nome do programa desejado (se ele puder ser usado como uma ferramenta de linha de comando).
Por exemplo, URLs:
PDF:
Imagens:
Texto:% s:
Vídeo / Música:
Se você deseja que o programa seja executado desanexado do terminal, é assim que eu prefiro:
Por exemplo:
Lembre-se de que você sempre pode redirecionar as saídas como de costume, por exemplo:
fonte
eog picture.jpg
para imagens demasiado se você tiver gnome-desktop instalado :)open
para outro programa. Por que não chamar o outro programa diretamente? Que utilidadeopen
adiciona? Esta resposta reflete a coisa natural a ser feita para abrir aplicativos específicos.open
no macOS funciona para abrir arquivos e pastas no aplicativo padrão e em aplicativos específicos. Parece que o originalbash
seguiu um caminho diferente com osxdg-open
arquivos e os nomes dos aplicativos para o restante.open
no MacOS é que ele lança o aplicativo desanexado do console em que é executado, ou seja, se o console for fechado, o aplicativo permanecerá ativado. No Ubuntu, é preciso usar onohup
comando para obter o mesmo comportamento. (desde prefixar cada comando com nohup e redirecionar a saída para cada comando é executado fica cansativo, pode fazer mais sentido para definir um atalho personalizado)