Вы могли посмотреть на то, как acpid делает это. Например, когда это дает команды xscreensaver или очищает экран для каждого пользователя, работающего X или X-сессии.
Например, в соответствии с Ubuntu этот файл содержит связанный материал:
/etc/acpi/lid.sh
Содержит этот цикл:
for x in /tmp/.X11-unix/*; do
displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
getXuser;
if [ x"$XAUTHORITY" != x"" ]; then
export DISPLAY=":$displaynum"
grep -q off-line /proc/acpi/ac_adapter/*/state
if [ $? = 1 ]
then
if pidof xscreensaver > /dev/null; then
su $user -c "xscreensaver-command -unthrottle"
fi
fi
if [ x$RADEON_LIGHT = xtrue ]; then
[ -x /usr/sbin/radeontool ] && radeontool light on
fi
if [ `pidof xscreensaver` ]; then
su $user -c "xscreensaver-command -deactivate"
fi
su $user -c "xset dpms force on"
fi
done
@retracile корректен. Необходимо открыть его с 'чем-то'. Однако я предпочитаю использовать должностное лицо по xargs.
find . -name '*.xyz' -exec cat {} \;
это возвратится cat fileFound.xyz; cat fileFound2.xyx;
и т.д. однако, Вы только ожидаете находить один файл.
отметьте то изменение \;
кому: +
возвратился бы cat fileFound.xyz fileFound2.xyz
в зависимости от случая позже, возможно, предпочтительный вариант.
для больше на этом я направил бы Вас к этому вопросу
Команду, которую Вы ищете, называют xdg-open
Попробуйте свою команду им:
xdg-open "$(find . -name '*xyz' | head -n1)"
Необходимо знать, какую программу Вы хотите использовать для открытия файла. Если это - изображение, Вы могли бы использовать gwenview или что-то.
Взятие входа и превращение его в аргументы сделаны с xargs. И Вы захотите выйти из того подстановочного знака...
find . -name \*xyz | xargs gwenview
И обработать пробелы в именах файлов....
find . -name \*xyz | xargs -d"\n" gwenview
Как другие указали, Ваш вопрос не достаточно довольно конкретен для ответа ясно. Так, предполагая другое возможное значение: Если Вы подразумеваете, что хотите выполнить его как исполняемый файл, (подразумевать, что Ваша программа является исполняемым файлом), говорят оболочке, что Вы хотите заменить выводом команды находки как часть командной строки:
$(find . -name *.xyz)
Если вы хотите открыть все файлы, найденные с помощью find
на отдельных вкладках в одном экземпляре vim, вы можете сделать это:
find . -name \*xyz | xargs vim -p