Ausführen der Standardanwendung, die einem Dateityp zugewiesen ist, vom Terminal aus, wobei nur der Dateiname angegeben wird

2

Gibt es unter Verwendung des Gnome-Terminals (Ubuntu 10.10) eine Möglichkeit, die einem Dateityp zugeordnete Standardanwendung nur durch Eingabe des Namens auszuführen, wie dies unter Windows möglich ist?

Angenommen, ich erstelle einen MIME-Typ für jede Datei mit dem Muster * .abc. Nehmen wir an, ich ordne diesen Dateityp der Anwendung 'my_app' zu.

Wenn ich die Datei 'my_file.abc' im aktuellen Ordner habe, möchte ich, dass wenn ich nur 'my_file.abc' an der Eingabeaufforderung eingebe, 'my_app' ausgeführt wird, wobei 'my_file.abc' als erstes Argument angegeben wird. (vorausgesetzt natürlich 'my_app' ist im Pfad)

Ich schätze dieses Verhalten in Windows und frage mich, ob Linux / Gnome das auch könnte. Vielen Dank

kebs
quelle
Vielleicht hast du auf askubuntu mehr Glück
RobotHumans
Nun ja, eigentlich wusste ich askubuntu bis jetzt nicht. Gibt es eine Möglichkeit, diesen Beitrag auf askubuntu "umzustellen"?
kebs

Antworten:

3

Du könntest das benutzen binfmt_misc Einrichtung für etwas ähnliches, aber Sie sind wahrscheinlich besser dran, es nur weiterzugeben xdg-open.

Ignacio Vazquez-Abrams
quelle
Sehr interessant, ich werde dieses Tool untersuchen, danke.
kebs
2

Unter Linux mit zsh ( http://www.zsh.org/ ) Sie könnten es auf diese Weise erreichen:

$ alias -s abc=my_app

Und danach zsh wird immer ausgeführt my_app youfile.abc wenn Sie nur youfile.abc eingeben.

Sergei Kurenkov
quelle
1

Ich kenne keine Unix-Shell, mit der Sie Dateien auf diese Weise ausführen können.

Unter Debian oder Ubuntu see myfile oder edit myfile Öffnet eine Datei in der Anwendung, die dem Dateityp über den Mailcap-Mechanismus zugeordnet ist. Der Befehl kommt von der mime-support Paket, von dem ich denke, dass es standardmäßig sowohl auf Debian als auch auf Ubuntu installiert ist (und es ist sowieso in den Abhängigkeiten vieler Pakete enthalten, also ist es wahrscheinlich bereits installiert).

Auf vielen Systemen können Sie verwenden xdg-open myfile von dem xdg-utils Suite. Dadurch wird die Datei in der Anwendung geöffnet, die dem Dateityp über die zugeordnet ist Freedesktop Mechanismus. Das Ubuntu-Paket ist xdg-utils, wahrscheinlich auch schon installiert.

Gilles
quelle
Ja, xdg-open funktioniert einwandfrei. Ich habe nur versucht zu prüfen, ob Windows auf Linux umgestellt werden kann. Ich habe ein wenig mit binfmt_misc zu kämpfen, aber es konnte nicht auf einfache Weise zum Laufen gebracht werden. echo ': txt_file: E: *. txt ::: / usr / bin / gedit ::' & gt; / proc / sys / fs / binfmt_misc / register, aber das funktioniert auf meinem Rechner nicht ... Ich denke, es wurde anfangs nicht dafür entwickelt.
kebs
Übrigens, wisst ihr, ob es einen Unterschied zwischen "see" und "xdg-open" gibt? Beide scheinen die MIME-Datenbank des Systems zu verwenden ...
kebs
1
@kebs: see Verwendet genau die MIME-Datenbank des Systems (einschließlich ~/.mailcap. Meiner Ansicht nach xdg-open verwendet eine völlig andere, von FreeDesktop angegebene Datenbank, aber Debian- und Ubuntu-Pakete füllen normalerweise beide Datenbanken.
Gilles
1

Du könntest benutzen gnome-open dafür. Funktioniert ziemlich gut für mich.

DerMike
quelle