Frage Wie kann ich auf die Standortdaten der aktuell ausgewählten Datei oder des ausgewählten Ordners zugreifen?


Ich möchte in der Lage sein, eine Datei auszuwählen, ein Skript mit einer Verknüpfung auszuführen, und das Skript ruft den Pfad der Datei ab, die ich ausgewählt habe (oder ziehe). Ich habe es in Nautilus ausgewählt.

Ich weiß, wie man den Befehl ausführt, ich weiß nur nicht, wie ich den Speicherort der ausgewählten Datei ermitteln soll. Ich gehe davon aus, dass es möglich ist, denn wenn ich eine Datei per Drag & Drop auf das Terminal ziehe, fügt sie den Pfad ein ...


Wofür habe ich das benutzt? Ich habe ein Programm angerufen Synergie Dies ist für die Verwendung von 1 Maus und 1 Tastatur über viele Computer mit einem lokalen Netzwerk.

Sie können es so einrichten, dass Ihre Bildschirme so nebeneinander stehen:

(Da dies die kostenlose Version ist), kann ich keine Dateien zwischen ihnen ziehen und ablegen. Also wird dieses Dock zwischen den beiden Bildschirmen eingerichtet, und wenn ich eine Datei ziehe, kann ich sie dort ablegen - und sie kopiert sie in den gleichen Pfad auf dem zweiten Computer (falls vorhanden) oder in den Ordner misc.


4
2018-06-02 16:13


Ursprung


Es wäre informativ, wenn Sie erwähnen könnten, wie man einen Befehl am Rand ausführt. - daltonfury42
@ daltonfury42 was? - Tim
@ daltonfury42 ja, GNOME 3 - Tim
@ daltonfury42 mit dem Befehlsteil von ccsm. - Tim
Es wäre wirklich interessant zu wissen, was du damit gemacht hast. Kannst du es bitte in der Frage hinzufügen? - daltonfury42


Antworten:


Mit ein wenig Recherche habe ich herausgefunden, wonach Sie suchen. Dies kann unter Verwendung von .desktop Dateien. Lass mich demonstrieren.

Erstellen Sie eine Datei in Ihrem Home-Verzeichnis (als Beispiel) mit der Erweiterung .desktop mit folgendem Inhalt:

#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Exec=bash <path-to-your-script> %u
Name=visible name here
Comment=comment here
Icon=icon path here

Ersetzen <path-to-your-script> mit dem Pfad des Skripts, das Sie ausführen möchten. Hier %u ist der Pfad der Datei, die Sie in der .desktop-Datei ziehen, um das Skript auszulösen. Dies wird offensichtlich als Argument für Ihr Skript übergeben.

Vergiss nicht, deine zu machen .desktop  ausführbar auch von:

chmod u+x test.desktop

Um zu überprüfen, ob es funktioniert, können Sie es auf dieses Skript verweisen:

#!/bin/sh

echo $1 > ~/out.txt

Sie sehen den vollständigen Pfad der Datei, die Sie in Ihre .desktop-Datei gezogen haben, die in out.txt in Ihrem Home-Verzeichnis gespeichert ist.

Schließlich können Sie ein Dock einrichten, um genau das zu haben, also haben Sie es an der Seite des Bildschirms.

Verweise:

Desktop-Eintragsspezifikation

Gnome Developer - Desktopdateien


3
2017-07-06 14:43



Ja, das funktioniert mit Plank Dock, das kann ich haben gerade dieses Symbol drauf - und es kann sein, wo ich will. - Tim
@Tim, gut zu hören. - daltonfury42
Ich werde das Kopfgeld in 4 Stunden hinzufügen - Tim


Wer die Dock-Lösung nicht mochte, kann einfach die Umgebungsvariable Nautilus nutzen NAUTILUS_SCRIPT_SELECTED_FILE_PATHS oder $@.Schreiben Sie ein Skript, legen Sie es in die Skriptordner So wird es im Kontextmenü angezeigt. Der Vorteil ist, dass Sie mehrere Dateien gleichzeitig auswählen können. Um es zu testen:

#!/bin/bash
notify-send $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
exit 0

2
2017-07-06 22:59