Как я могу получить доступ к данным о местоположении выбранного в данный момент файла или папки?

Я хочу иметь возможность выбрать файл, запустить скрипт с ярлыком, и этот скрипт получит путь к файлу, который я выбрал (или перетаскиваю). Я выбрал его в Наутилус.

Я знаю, как выполнить команду, я просто не знаю, как узнать местоположение выбранного файла. Я предполагаю, что это возможно, потому что, если я перетаскиваю файл на терминал, он вставляет путь ...


Для чего я это использовал? У меня есть программа под названием synergy , которая предназначена для использования 1 мыши и 1 клавиатуры на многих компьютерах с использованием локальной сети.

Вы можете настроить его так, чтобы ваши экраны располагались рядом друг с другом, например:

Однако (поскольку это бесплатная версия), я могу перетаскивайте файлы между ними. Таким образом, эта док-станция устанавливается между двумя экранами, и когда я перетаскиваю файл, я могу поместить его туда - и он копирует его по тому же пути на втором компьютере (если он существует) или в папку misc.

4
задан 7 July 2015 в 12:06

2 ответа

С небольшим reaserch я узнал то, что можно искать. Это может быть сделано с помощью .desktop файлы. Позвольте мне продемонстрировать.

Создают файл в Вашем доме diretory (как пример) с расширением .desktop со следующим содержанием:

#!/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

Замена <path-to-your-script> с путем сценария Вы хотите выполниться. Здесь %u путь файла, который Вы будете тормозить .desktop файл для инициирования сценария. Это будет, очевидно, передано как аргумент Вашему сценарию.

не забывают делать Ваш .desktop исполняемый файл также:

chmod u+x test.desktop

, Чтобы проверить, работает ли это, можно указать на него на этот сценарий:

#!/bin/sh

echo $1 > ~/out.txt

Вы будете видеть полный путь файла, который Вы перетащили на свой .desktop файл, хранивший в out.txt в Вас корневой каталог.

Наконец, можно настроить прикрепление, чтобы иметь просто это в нем, таким образом, у Вас есть он со стороны экрана.

Ссылки:

Настольный Разработчик Gnome Спецификации

Записи - Файлы на рабочем столе

3
ответ дан 7 July 2015 в 12:06

Для тех тому, кто не сделал, понравилось решение для прикрепления, может просто использовать переменную среды Наутилуса NAUTILUS_SCRIPT_SELECTED_FILE_PATHS или $@.Write сценарий, поместить его в эти папка сценариев , таким образом, это появится в контекстном меню. Преимущество состоит в том, что можно выбрать больше файлов сразу. Протестировать его:

#!/bin/bash
notify-send $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
exit 0
2
ответ дан 7 July 2015 в 12:06

Другие вопросы по тегам:

Похожие вопросы: