В настоящее время у меня есть каталог под названием МОЙ - СОВМЕСТНО ИСПОЛЬЗОВАННЫЙ, и мне нужно следующее для случая:
Как я могу выполнить такую задачу?
Как примечание стороны, я - новичок в мире Ubuntu.
Установите пакет inoticoming
sudo apt-get install inoticoming
Установите пакет trash-cli
использовать Вашу папку "Удаленные" вместо того, чтобы удалить PDF
sudo apt-get install trash-cli
Если Вы предпочитаете удаление файла через классическое rm
, чем Вы не нужен этот пакет, и необходимо заменить строку
lpr "$2/$1" && trash "$2/$1"
с
lpr "$2/$1" && rm "$2/$1"
в сценарии ниже.
Создайте сценарий обертки printpdf
mkdir -p ~/bin
gedit ~/bin/printpdf
Добавьте код ниже, сохраните файл и закройте редактора
#!/usr/bin/env bash
FILE="$1"
if [ "${FILE##*.}" = "pdf" ]
then
lpr "$2/$1" && trash "$2/$1"
fi
exit 0
Сделайте исполняемый файл сценария
chmod +x ~/bin/printpdf
Наблюдайте свою папку
inoticoming /path/to/MY-SHARED ~/bin/printpdf {} /path/to/MY-SHARED \;
И поскольку @Rmano сказал в комментариях
О точке 4, заметьте, что это практически невозможно быть уверенным, что файл был распечатан. Можно проверить, что это было отправлено на принтер, но распечатано, вполне более сложно и действительно никогда отказоустойчив (и вероятно зависимый принтера).
Спасибо, , чтоработает как шарм. Особенно, если вы поместите его как cronjob для активации inoticoming
, он может даже печатать все виды изображений и PDF.
#!/usr/bin/bash
FILE="$1"
if [ "${FILE##*.}" = "jpg" ]
then
lpr "$2/$1" && rm "$2/$1"
elif [ "${FILE##*.}" = "jpeg" ]
then
lpr "$2/$1" && rm "$2/$1"
elif [ "${FILE##*.}" = "png" ]
then
lpr "$2/$1" && rm "$2/$1"
elif [ "${FILE##*.}" = "pdf" ]
then
lpr "$2/$1" && rm "$2/$1"
elif [ "${FILE##*.}" = "svg" ]
then
lpr "$2/$1" && rm "$2/$1"
else
echo "finish"
fi
exit 0