xref: /plan9/rc/bin/delkey (revision e4bcdcb8d475bc773903d8d060f216f1310e22eb)
1*e4bcdcb8SDavid du Colombier#!/bin/rc
2*e4bcdcb8SDavid du Colombier
3*e4bcdcb8SDavid du Colombierrfork e
4*e4bcdcb8SDavid du Colombier
5*e4bcdcb8SDavid du Colombierctl = /mnt/factotum/ctl
6*e4bcdcb8SDavid du Colombierif(test -r /mnt/term/mnt/factotum/ctl)
7*e4bcdcb8SDavid du Colombier	ctl = /mnt/term/mnt/factotum/ctl
8*e4bcdcb8SDavid du Colombier
9*e4bcdcb8SDavid du Colombierfn forceit {
10*e4bcdcb8SDavid du Colombier	switch($force){
11*e4bcdcb8SDavid du Colombier	case no
12*e4bcdcb8SDavid du Colombier		echo -n $* '? [y/n]' > /dev/cons
13*e4bcdcb8SDavid du Colombier		ok = `{read}
14*e4bcdcb8SDavid du Colombier		switch($ok){
15*e4bcdcb8SDavid du Colombier		case y* Y*
16*e4bcdcb8SDavid du Colombier			echo yes
17*e4bcdcb8SDavid du Colombier		case q* Q*
18*e4bcdcb8SDavid du Colombier			exit ''
19*e4bcdcb8SDavid du Colombier		case *
20*e4bcdcb8SDavid du Colombier			echo no
21*e4bcdcb8SDavid du Colombier		}
22*e4bcdcb8SDavid du Colombier	case *
23*e4bcdcb8SDavid du Colombier		echo yes
24*e4bcdcb8SDavid du Colombier	}
25*e4bcdcb8SDavid du Colombier}
26*e4bcdcb8SDavid du Colombier
27*e4bcdcb8SDavid du Colombierfn deleteit {
28*e4bcdcb8SDavid du Colombier	key = `{echo $* | sed 's/ ![0-9a-zA-Z_]+\??/ /g' | sed 's/ +$//'}
29*e4bcdcb8SDavid du Colombier	if(~ `{forceit del$key} yes)
30*e4bcdcb8SDavid du Colombier		if(! echo del$key > $ctl)
31*e4bcdcb8SDavid du Colombier			exit bad
32*e4bcdcb8SDavid du Colombier}
33*e4bcdcb8SDavid du Colombier
34*e4bcdcb8SDavid du Colombierforce = no
35*e4bcdcb8SDavid du Colombier
36*e4bcdcb8SDavid du Colombierif(~ $1 '-f'){
37*e4bcdcb8SDavid du Colombier	force = yes
38*e4bcdcb8SDavid du Colombier	shift
39*e4bcdcb8SDavid du Colombier}
40*e4bcdcb8SDavid du Colombier
41*e4bcdcb8SDavid du Colombierifs='
42*e4bcdcb8SDavid du Colombier'
43*e4bcdcb8SDavid du Colombier
44*e4bcdcb8SDavid du Colombierif(~ $#* 0){
45*e4bcdcb8SDavid du Colombier	for(i in `{cat $ctl})
46*e4bcdcb8SDavid du Colombier		deleteit $i
47*e4bcdcb8SDavid du Colombier	exit ''
48*e4bcdcb8SDavid du Colombier}
49*e4bcdcb8SDavid du Colombier
50*e4bcdcb8SDavid du Colombierfor(i in `{grep $"* $ctl})
51*e4bcdcb8SDavid du Colombier	deleteit $i
52*e4bcdcb8SDavid du Colombierexit ''
53