Вывод лучше, чем ошибка, таким образом, это на первом месте (1 по сравнению с 2).
>
сокращение от, 'переходит в'. Слева то, что я хочу отправить, и справа то, где я хочу отправить его. С тех пор, 'где' (почти) всегда файл, что-то как
program > /dev/null 2>1
перенаправил бы в файл, названный 1. Таким образом, амперсанд (&)
изменяет файл к дескриптору файла.
К сожалению, я не столкнулся, ни разработал свою собственную мнемосхему, но когда я сначала учился *, отклоняют, я нашел этот логический способ работать хорошо. После нескольких просмотров это становится второй натурой.
В альпийском существует "параметр конфигурации" Пути NewMail FIFO. Заключение в кавычки справки:
Вы можете иметь альпийский, создают FIFO специальный файл (также названный именованным каналом), куда он отправит короткому сообщению каждый раз, когда новое сообщение получено в текущей папке, ЯЩИКЕ ВХОДЯЩИХ СООБЩЕНИЙ, или любой открывает Stayopen Folders. Защищать от двух различных Alpines, и пишущих в тот же FIFO, альпийский, только создаст FIFO и запишет в него, если он не будет уже существовать.
Так, я установил опцию на '/tmp/alpine.fifo' и записал простую утилиту, чтобы прочитать сообщения из FIFO и вызвать 'notify - send':
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#define FIFO_NAME "/tmp/alpine.fifo"
int main(void)
{
char s[512];
char cmd[512];
int num;
int fd = open(FIFO_NAME, O_RDONLY);
do {
if ((num = read(fd, s, 300)) == -1)
perror("read");
else {
s[num] = '\0';
sprintf(cmd, "notify-send -t 0 'New mail:' '%s'", s);
system(cmd);
}
} while (num > 0);
return 0;
}
Сохраните его к альпийскому-notifier.c, и скомпилируйте с 'gcc альпийская-notifier.c-o альпийская-notifier' команда. Запустите 'альпийский-notifier' после того, как альпийский будет запущен. Наслаждайтесь раскрывающимися уведомлениями.
Обновление:
Я не был удовлетворен своим предыдущим ответом, таким образом, я улучшил сценарий много и сделал GitHub repo для него.
Теперь Вы не должны запускать сценарий после запуска альпийского, сценарий будет заботиться обо всем для Вас. Ядро сценария является главным образом тем же (я только улучшил парсинг немного):
#! /bin/bash
while read L; do
n=$(($n + 1))
if [[ n -gt 3 ]]; then
name=`echo "$L" | sed 's/ \+/\t/g;s/^\(+ \)\?\([^\t]*\)\t\([^\t]*\)[\t ].*/\2/'`
subject=`echo "$L" | sed 's/ \+/\t/g;s/^\([^\t]*\)\t\(Re: \?\)\?\([^\t]*\)[\t ].*/\3/'`
box=`echo "$L" | sed 's/ \+/\t/g;s/^\([^\t]*\)\t\([^\t]*\)[\t ]\([^\t]*\).*/\3/'`
notify-send -t 10000 $iconcommand "Mail from $name" "$subject\n-\nIn your $box."
fi
done < <(cat alpine.fifo)
Остальная часть его является немного большой для регистрации здесь, таким образом, любой, кому интересно, может просто получить его в repo.
content
и name
немного багги в некоторых случаях., который немного глуп, так как они - причина, я отправил ответ вообще. =P
– Malabarba
22.09.2011, 16:15
Разве Вы не можете использовать специализированный инструмент почтового уведомления как Gnubiff, почтовое уведомление или kbiff?
Не возможно настроить "новое почтовое уведомление" об альпийских.
Нет такой опции, упомянутой в документации по настройке.
Также вот кавычка от mailinglist от Eduardo Chappa:
Я заметил, что альпийский дает визуальное предупреждение в терминале гнома путем высвечивания экрана, когда новая почта прибывает. Там какой-либо путь состоит в том, чтобы настроить предупреждение, так, чтобы, например, это играло звук или что-то?
[..]
Альпийский, как можно предположить теперь, только подаст звуковой сигнал. В сети, альпийской, возможно отправить файл, который будет играться (к браузеру) для нового почтового уведомления. Нет такой функции в Unix, Mac или Windows Alpine.
Ваши опции теперь:
И заключить разработчику в кавычки моего любимого почтового клиента:
Все mailclients сосут...
:-)