My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# ----------------------------------------------------------------------------
# Sistema simples de lembretes: cria, apaga e mostra.
# Uso: zzlembrete [texto]|[número [d]]
# Ex.: zzlembrete # Mostra todos
# zzlembrete 5 # Mostra o 5º lembrete
# zzlembrete 5d # Deleta o 5º lembrete
# zzlembrete Almoço com a sogra # Adiciona lembrete
#
# Autor: Aurelio Marinho Jargas, www.aurelio.net
# Desde: 2008-10-22
# Versão: 1
# Licença: GPL
# ----------------------------------------------------------------------------
zzlembrete ()
{
zzzz -h lembrete "$1" && return

local arquivo="$HOME/.zzlembrete"
local tmp="$ZZTMP.lembrete.$$"
local numero

# Assegura-se que o arquivo de lembretes existe
test -f "$arquivo" || touch "$arquivo"

# Sem argumentos, mostra todos os lembretes
if test -z "$1"
then
cat -n "$arquivo"

# Tem argumentos, que podem ser para mostrar, apagar ou adicionar
elif echo "$*" | tr -s '\t ' ' ' | grep '^ *[0-9]\{1,\} *d\{0,1\} *$' >/dev/null
then
# Extrai o número da linha
numero=$(echo "$*" | tr -d -c 0123456789)

if zztool grep_var d "$*"
then
# zzlembrete 5d: Apaga linha 5
cp "$arquivo" "$tmp" &&
sed "${numero:-0} d" "$tmp" > "$arquivo" || {
echo "Ops, deu algum erro no arquivo $arquivo"
echo "Uma cópia dele está em $tmp"
return 1
}
else
# zzlembrete 5: Mostra linha 5
cat "$arquivo" | sed -n "$numero p"
fi
else
# zzlembrete texto: Adiciona o texto
echo "$*" >> "$arquivo" || {
echo "Ops, não consegui adicionar esse lembrete"
return 1
}
fi
}

Change log

r710 by aureliojargas on Mar 29, 2012   Diff
SEGURANÇA: $1 colocado entre aspas na
chamada padrão zzzz -h de todas as
funções.
Go to: 
Sign in to write a code review

Older revisions

r709 by aureliojargas on Mar 29, 2012   Diff
SEGURANÇA: aspas ao redor de
variáveis.
r655 by aureliojargas on Mar 23, 2012   Diff
s/Aurélio/Aurelio/ *
r486 by aureliojargas on May 20, 2011   Diff
COMBO: Arrumadas inconsistências de
espaços em branco na indentação de
várias funções. Foi usado o script
'alinhamento' para encontrar os
problemas. Estas alterações não mudam
...
All revisions of this file

File info

Size: 1624 bytes, 56 lines
Powered by Google Project Hosting