Трудно сделать это, не используя сценарий помощника (или функция удара), как сделано в другом ответе, но не невозможное. Сюда использование -execdir
опция find
и некоторые bash
расширение параметра.
find /opt/fooapp/foosubdirectory -name '*.gz' -execdir /bin/bash -c 'pwd ; echo ${0%.gz}; cp ${0} ${0%.gz}.tmp.gz ; gunzip ${0%.gz}.tmp.gz ; mv ${0%.gz}.tmp ${0%.gz}' {} \;
[редактирование] ПРИМЕЧАНИЕ: Вам нужна последняя версия bash
(для этого конкретного параметра exparsion), некоторые более старые версии не имеет этого функциями. Я протестировал это на V 3.2.x
[Редактирование] NOTE2: -execdir
выражение, как далеко я знаю, присутствует в GNU find
(и другие современные реализации), но не в более старые. Я testet это на GNU находит v 4.2.x
Тот же rewitten для удобочитаемости и комментария:
find /opt/fooapp/foosubdirectory
-name '*.gz'
-execdir /bin/bash -c '_bash_command_string_ ' {} \;
# This ^ will run bash from the subdirectory containing the matched file
_bash_command_string_ -->
pwd ; # we are working in this subdir
echo ${0%.gz}; # this is matched filename (minus final .gz)
cp ${0} ${0%.gz}.tmp.gz ; # copy the .gz file as .tmp.gz
gunzip ${0%.gz}.tmp.gz ; # gunzip the .tmp.gz as .tmp
mv ${0%.gz}.tmp ${0%.gz} # rename .tmp as matched filename (minus final .gz)
Это решение интересно как умный взлом, но вероятно слишком сложное, чтобы использоваться в практике.
Посмотрите Ссылку Bash - Расширение Параметра Shell, поиск ${parameter%word}
.
Ознакомьтесь с разделом о сопряжении устройства с компьютером в этой статье под названием: Bluetooth-гарнитура - ArchLinux Wiki , чтобы получить советы по как это сделать. У меня нет устройства Bluetooth, чтобы подтвердить это, но описанные здесь действия могут сработать и для вас.
Вот подход, который, как я обнаружил, сработал. .
ps aux | grep applet
(определите процесс blueman), а затем завершите его. Это убьет приложение с графическим интерфейсом. Это нужно делать при каждой перезагрузке.
Откройте / usr / bin / bluez-simple-agent
и
измените KeyboardDisplay
или DisplayYesNo
(в зависимости от того, что у вас там есть ) на NoInputNoOutput
. Запустите bluez-simple-agent
в фоновом режиме и на переднем плане.
Хотя по моему опыту перезагрузка не требуется, она желательна.
Надеюсь, это решит вашу проблему.