Introduction
Introduction Statistics Contact Development Disclaimer Help
<- Back
bsleep - Breakable Sleep
========================
bsleep is a sleep that breaks as soon as you press 'b'.
It makes clever use of the -t (timeout) and -n (read n bytes) parameters
of the bash built-in: read.
bsleep can be used to quickly test something and chain a quick undo
command right after you initial command.
example usage:
echo "do something"; bsleep; echo "quickly undo"
The other day I was tinkering with an iptables ruleset and needed exactly
that. So quickly hacked it quick'n'dirty (originally as a one-liner).
The Bash-Shellfunction:
function bsleep () {
local c=1;
local INPUT;
while [ ! "$INPUT" == "b" ]; do
printf "$c "; # comment out if you prefer silent
c=$(($c+1));
read -s -n1 -t1 INPUT;
done;
printf "\n";
}
z
z
Z
.--. Z Z
/ _(c\ .-. __
| / / '-; \'-'` `\______
\_\/'/ __/ ) / ) | \--,
| \`""`__-/ .'--/ /--------\ \
\\` ///-\/ / /---;-. '-'
jgs (________\ \
'-'
asciinema
P.S.:
In general I strife to get rid of bashisms in my daily doing. I noticed
that the built-in read functions of some POSIX shells (e.g. like ksh) do
not provide -t or -n.
So I aim to write a little bsleep-program in C in the future.
Update:
2024-06-30 - bsleep (rewritten in C)
You are viewing proxied material from kroovy.de. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.