Решением может быть использование оболочки для сохранения адресов и завершения bash для их извлечения:
address_book=${HOME}/.address
mailx() {
#loop through all args
for i; do
# does this look like an email address
if grep -xqE '[[:alnum:]_.+\-]+@[[:alnum:]\-]+.[[:alnum:].\-]+' <<< "${i}" && ! grep -xqF "${i}" "${address_book}"; then
echo "${i}" >> "${address_book}"
fi
done
/usr/bin/mailx "${@}"
}
_mailx_completion() {
if [[ ! -f ${address_book} ]] ; then
return
fi
# Only add each email once
emails=($(grep -xvf<(echo "${COMP_WORDS[*]}"|tr ' ' '\n') "${address_book}"))
if [[ ${#emails[@]} -eq 0 ]] ; then
return
fi
# list emails
COMPREPLY=( $(compgen -W "${emails[*]}" "${COMP_WORDS[${COMP_CWORD}]}") )
}
complete -F _mailx_completion mailx
Добавить в ваш «.bashrc»
Пояснение:
Мы используем функцию bash для перехвата вызова mailx
. Эта функция просматривает аргументы командной строки в поисках адресов электронной почты. Найдя его, он затем проверит нашу «адресную книгу», чтобы убедиться, что его там еще нет -, если это не так, он добавит его в список. Наконец, мы вызываем mailx
с исходными аргументами.
Вторая часть — это функция автозаполнения bash -, которая вызывается всякий раз, когда вы нажимаете клавишу Tab . Bash будет читать адреса электронной почты из ~/.address
всякий раз, когда вы нажимаете клавишу Tab после ввода mailx
. Дополнительная логика заключается в удалении адресов электронной почты из списка предложений после добавления в командную строку.
Чтобы включить все это, добавьте указанное выше в свой файл .bashrc
.
Вы можете использовать команду import
.
Подробнее о том, как его использовать здесь
Если команда недоступна, вы можете установить пакет imagemagick
, чтобы получить ее.
Использование выглядит следующим образом:
import [options] output-file
, в котором многочисленные различные [options]
могут быть подробно описаны на справочной странице импорта с помощью man import
.
Вот пример:
import -screen test.png
позволяет с помощью курсора выбрать часть экрана и сохранить ее вtest.png
Другой пример — сохранить все окно вместе с его границей, выполнив
import -border test2.png
Я большой поклонник Shutter . Поскольку вы используете Ubuntu, вы можете установить его с помощью:
sudo apt install shutter
Затем вы можете изменить сочетания клавиш (удалить существующие сочетания клавиш и добавить новые )для работы с затвором.
Чтобы сделать полный скриншот,:
shutter -f
Чтобы сделать скриншот определенной области:
shutter -s
Теперь, почему я предпочитаю это?
Во-первых, с помощью Shutter можно выполнять базовое редактирование. Вы можете обрезать, размыть, добавить стрелки, добавить текст и многое другое. Вы также можете загрузить (под названием «Экспорт» )непосредственно из Shutter. Мало того, что в нем настроено несколько сайтов, вы также можете добавить свои собственные сайты в функцию загрузки.
Для некоторых людей это может показаться излишним, но я обнаружил, что использую те же функции на регулярной основе. Shutter — одно из тех приложений, которые появляются на панели задач вскоре после загрузки.