Скопировать полный путь в буфер с помощью сценария Nautilus в Linux

Постоянно копирую абсолютные пути в терминал и конфиги. Сценарий кидает их в буфер через xclip и показывает notify-send. Если файлов много, в уведомлении — первые пять.

Куда положить

Можно просто скачать скрипт Nautilus ниже и положить по этому пути. Скрипты Nautilus живут здесь:

bash
~/.local/share/nautilus/scripts/

В свойствах файла включаю «Исполняемый как приложение» — без этого пункта в меню не будет.

Или через командную строку

  1. Ставлю зависимости

    Нужны xclip и notify-send.

    bash
    sudo apt install -y xclip libnotify-bin
  2. Создаю файл

    Имя файла — то, что будет в меню: Копировать путь.

    bash
    mkdir -p ~/.local/share/nautilus/scripts
    touch ~/.local/share/nautilus/scripts/"Копировать путь"
  3. Даю права на исполнение

    Без бита исполнения Nautilus скрипт не покажет.

    bash
    chmod +x ~/.local/share/nautilus/scripts/"Копировать путь"
  4. Открываю в редакторе

    xdg-open поднимает графический редактор, не nano.

    bash
    xdg-open ~/.local/share/nautilus/scripts/"Копировать путь"
  5. Вставляю код и пользуюсь

    Вставляю код ниже и пользуюсь: выделил файлы → ПКМ → «Сценарии». Чтобы меню подхватило файл:

    bash
    nautilus -q

Код

bash
#!/bin/bash

# Проверяем, есть ли выбранные файлы
if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
    notify-send "Ошибка" "Файлы не выбраны!"
    exit 1
fi

# Очищаем пути: удаляем CR (r), лишние пробелы и пустые строки
CLEANED_PATHS=$(echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | tr -d 'r' | sed 's/[[:blank:]]*$//' | grep -v '^$')

# Копируем в буфер обмена (через xclip)
echo -n "$CLEANED_PATHS" | xclip -selection clipboard

# Формируем текст уведомления (первые 5 файлов)
NOTIFICATION_TEXT=$(echo "$CLEANED_PATHS" | head -n 5)
TOTAL_FILES=$(echo "$CLEANED_PATHS" | wc -l)

if [ "$TOTAL_FILES" -gt 5 ]; then
    NOTIFICATION_TEXT="$NOTIFICATION_TEXTn(и ещё $((TOTAL_FILES - 5)) файлов...)"
fi

# Уведомление
notify-send "Скопировано в буфер" "$NOTIFICATION_TEXT"
← К списку статей

Поделиться

Комментарии

Пока нет комментариев — можете написать первый.

Оставить комментарий

Войти с помощью

или оставьте комментарий как гость

Отправка защищена сервисом Yandex SmartCaptcha. Подробности — в политике конфиденциальности.