Написал скрипт под Nautilus, вроде работает (GNU bash 3.2.39(1)).
Поскольку скриптописатель я пока неумелый,
выкладываю здесь для ваших замечаний.
================================================================
#!/bin/sh
# ~/.gnome2/nautilus-scripts/get info/who has opened the file
# Отображение информации о том, какой процесс занял файл.
# получаем пути файлов, разделённые символами "|"
filePaths=`echo -e "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | \
awk 'BEGIN { FS = "\n" } {if ($1 != "") { printf "|%s", $1 }}' | \
sed -e 's/^|//'` # убрать лидирующий символ "|"
filePaths=$(echo "$filePaths" | sed -e 's/\x2F/\\\x2F/g') # замена "/" на "\/"
filePaths=$(echo "$filePaths" | sed -e 's/\./\\\./g') # замена "." на "\."
strRes=`lsof | awk "/$filePaths/"`
if [ ${#strRes} -eq 0 ] ; then
zenity --info --text="Файлы свободны."
else
zenity --info --text="$strRes"
fi
================================================================
Порядок работы скрипта.
Используем команду lsof для получения информации о том,
какие процессы заняли нужные нам файлы.
Вывод команды lsof скармливаем awk,
а шаблоном для поиска в этом выводе являются пути
нужных нам файлов в виде регулярного выражения:
пути, разделённые "|", чтобы поиск строк шёл по принципу "или".
Перед этим получаем список путей, разделённых "|":
1. С помощью awk разбираем $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS,
которая содержит список путей, разделённых переводами строк.
2. Экранируем прямые слеши и точки.
Жду ваших замечаний.
Ответ на:
комментарий
от redgremlin

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Кривая работа zenity в bash скрипте (2020)
- Форум Скрипт для запуска флешек в нормальном проигрывателе. (2012)
- Форум Отображение процесса суспенда (2006)
- Форум Какой процесс занял device? (2005)
- Форум Информация о процессах (2012)
- Форум Информация о процессе (2006)
- Форум информация о процессе (2004)
- Форум параллельные процессы bash (2015)
- Форум KDE Dolphin отображение информации (2022)
- Форум IPAC и отображение информации (2002)