Я могу выполнить сценарий оболочки вместе с приложением?

Я писал мелко сценарий для автоматического удаления кэша Chrome после того, как я закрываю его:

#!/bin/bash

while true; do
    if [[ $(pgrep -l chrome) ]]; then
        sleep 20
    else
        rm -rf ~/.cache/google-chrome/Default/Cache/*
        rm -rf ~/.cache/google-chrome/Default/"Media Cache"/*
        notify-send "CCD" "Cache deleted!"
        break    
fi
done

Теперь я не хочу запускать этот скрипт вручную каждый раз, я хочу, чтобы он работал в фоне автоматически, когда я запускаю Chrome. Я пытался отредактировать Chrome quicklist с Тонкой настройкой Ubuntu: enter image description here

Но поскольку я ожидал, это не работало. Так, есть ли какой-либо другой способ сделать это?

0
задан 18 November 2016 в 13:46

1 ответ

Просто добавьте полный путь к своему сценарию в Startup Applications, чтобы заставить его запуститься автоматически после входа в систему. Откройте Unity Dash и добавьте его как новую команду. Конечно, удостоверьтесь Вы, сценарий имеет исполняемые полномочия с chmod +x /path/to/script.sh

enter image description here

Для решения проблемы хромового кэша удаления на запуске (который является нежелательным, как упомянуто в комментариях), используйте опрос с циклом с условием продолжения для ожидания хрома для появления.

while true; do

    # Wait for chrome window to appear
    while ! pgrep -l 'chrome' ; do : ; sleep 20; done 

    # Now wait for it to disappear
    while pgrep -l 'chrome' ; do : ; sleep 20; done 

    # Once chrome window disappears, delete cache.
    rm -rf ~/.cache/google-chrome/Default/Cache/*
    rm -rf ~/.cache/google-chrome/Default/"Media Cache"/*
    notify-send "CCD" "Cache deleted!"

    # And at this point we restart the whole process again.

done
2
ответ дан 28 September 2019 в 04:03

Другие вопросы по тегам:

Похожие вопросы: