Я создаю новое действие в разделе Конфигурация / Действия ...
и назначаю команду * / home / ubuntu / Documents / CustomScripts / decryptMail.sh% f ~ / doc
для это действие.
Файл decryptMail.sh содержит следующие команды:
gpg2 --no-tty --batch --yes --command-fd 0 --passphrase-fd 0 --output $2 --decrypt $1
decryptedString=$(cat $2);
escaped=$(printf '%s\n' "$decryptedString" | sed 's:[\/&]:\\&:g;$!s/$/\\/');
sed -i '/-BEGIN PGP MESSAGE-/,/-END PGP MESSAGE-/{//!d}' $1;
sed -i "/BEGIN PGP MESSAGE/a $escaped" $1;
В ходе моего исследования возникло два вопроса, которые могут улучшить сценарий. Первый вопрос касается части, когда я хочу вставить расшифрованный текст из файла ~ / doc
(представленный $ 2) в файл электронной почты (представленный $ 1). Я читал, что это можно сделать с помощью функции r
, но все мои следы вроде sed '/ -BEGIN PGP MESSAGE- / r $ 1' $ 2
не работали. Какие-либо предложения? Второй вопрос: как сказать Сильфиду
перезагрузить файл электронной почты? До сих пор мне нужно было щелкнуть какое-то другое электронное письмо, а затем вернуться к моему расшифрованному электронному письму, чтобы увидеть изменения, которые скрипт внес в файл электронной почты.
У меня такая же проблема на RHEL6.8 с 800-мегабайтной /tmp/orbit-walker
директорией (walker - мое имя пользователя). Это не позволяло моей системе загрузиться.
Я нашел проблему, добавив init=/bin/bash
в строку загрузки, чтобы получить приглашение, затем выполнив
openvt -- /bin/bash
и открыв виртуальный терминал с помощью alt-f1. Поискав вокруг с помощью ps
, я нашел rm -rf /tmp/orbit-*
процесс, который висел.
Я убил зависший rm
, а затем продолжил процесс загрузки с помощью
exec /sbin/init
Очень трудно удалить содержимое каталога с миллионом файлов. И 'find', и 'rm' настаивают на чтении всех имен файлов и их сортировке. Они оба работают часами, а затем прерываются с 8 Гб ядра, говоря "слишком много файлов".
Вот кое-что, что работает.
(cd /tmp/orbit-walker; /bin/ls -1 -f | xargs /bin/rm)
Опция -f заставляет /bin/ls печатать без сортировки, а -1 делает это по строке за раз.