Sur macOS dans le terminal par défaut en cours d'exécution bash
, je peux taper:
open -a Firefox http://www.wikipedia.org
pour ouvrir une URL avec Firefox ou un autre navigateur. Il fonctionne également pour lancer un programme, par exemple open -a maps
, et pour ouvrir un fichier dans le programme par défaut, par exemple open file.pdf
.
Comment puis-je faire de même sur Ubuntu dans le terminal GNOME par défaut également en cours d'exécution bash
? Je sais que je peux ouvrir un fichier ou une URL avec xdg-open /path/to/file
, et je peux ouvrir le navigateur par défaut avec sensible-browser
. Ubuntu a-t-il une commande générale pour ouvrir des fichiers, des applications ou des fichiers dans des applications spécifiques?
Je fonctionne bash
sur les deux machines, 3.2.57(1)-release
sur macOS et 4.4.19(1)-release
sur Ubuntu.
la source
open -a Firefox http://www.wikipedia.org
? Tu ne peux pasfirefox http://www.wikipedia.org
? Cela semble être une caractéristique inutile deopen
, lorsque l'ouverture de programmes est le but même debash
.bash: firefox: command not found
. Même erreur avec leFirefox
nom de programme.bash
fonctionne exactement de la même manière; c'est Firefox qui est installé différemment que sur Ubuntu. Sur macOS, vous pouvez, par exemple, exécuter à/Applications/Firefox.app/Contents/MacOS/firefox-bin
partir de la ligne de commande.Firefox.app
est un type particulier de dossier qui contient non seulement l'exécutable, mais les fichiers sous Linux peut être éparpillée dans différents/usr/bin/
,/usr/lib
,/etc
, etc. répertoires. Le Finder sait comment exécuter l'application réelle lorsque, par exemple, vous double-cliquez surFirefox.app
.open
est un moyen de "lancer" le dossier spécial à partir de la ligne de commande.bash
fonctionne différemment: Firefox est installé en tant qu'application OS X (Firefox.app
) et n'est pas sur le PATH normal. Une autre raison de l'utiliseropen -a
est qu'il met correctement en arrière-plan l'application qu'il lance, au lieu de l'attendre jusqu'à sa fermeture.&
Réponses:
Vous pouvez spécifiquement utiliser le nom de votre programme souhaité (s'il peut être utilisé comme outil de ligne de commande).
Par exemple, les URL:
PDF:
Images:
Des textes:
Vidéo / Musique:
Si vous voulez que le programme soit exécuté indépendamment du terminal, voici la façon dont je préfère le faire:
Par exemple:
N'oubliez pas que vous pouvez toujours rediriger les sorties comme d'habitude, par exemple:
la source
eog picture.jpg
pour les images aussi si vous avez installé gnome-desktop :)open
pour appeler un autre programme. Pourquoi ne pas simplement appeler l'autre programme directement? Quelle utilitéopen
ajoute-t-elle? Cette réponse reflète la chose naturelle à faire pour ouvrir des applications spécifiques.open
sur macOS fonctionne à la fois pour ouvrir des fichiers et des dossiers dans l'application par défaut et dans des applications spécifiques. Il semble que l'original aitbash
suivi un chemin différent avec lesxdg-open
fichiers et les noms des applications pour le reste.open
dans MacOS est qu'il lance l'application détachée de la console à partir de laquelle elle est exécutée, c'est-à-dire que si la console se ferme, l'application restera activée. Sur Ubuntu, il faut utiliser lanohup
commande pour obtenir le même comportement. (depuis le préfixe de chaque commande avec nohup et la redirection de la sortie pour chaque commande que vous exécutez devient fatigant, il peut être plus logique de définir un raccourci personnalisé)