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