#!/bin/bash
# Linux Mint 19, default bash terminal.
clear
echo ""
echo ""
printf "%b" "This is a test line.\033[s\n"
sleep 2
echo ""
echo ""
printf "%b" "\033[u\033[1A\n"
echo "We are here. "
This is what I do - the output of my script:
Code:
100
101
102
103
104
105
106
107
108
109
110
Do you wish to continue? [Y|n] z
When a user enters an answer other than Y, y, N, n or <Enter> - for example 'z' above - then the cursor is supposed to stay where it is until an acceptable answer comes.
That has to work everywhere on the screen.
The problem I had was that the carriage return moved the cursor to the next line, one line below the question. I first fixed it for everywhere except the last line of the window and that's when I posted my original question.
This version works for me now:
Code:
#!/bin/bash
function askYesOrNo {
printf "\e[1;31;47m$1 [Y|n]\e[0m " # print $1 in color
printf "\e[s" # save cursor x-pos
while true ; do
read answer
if [ -z "$answer" ] ; then
return 0
elif [ "$(tr -d "NnYy" <<< $answer)" != "$answer" ] ; then
break
fi
# How many lines in this window?
LINES=$(tput lines)
# find cursor y-position ( line number )
printf "\e[6n" ; read -sd R POS
CURPOS=${POS#*[}; CUR_Y=${CURPOS%;*}
if [ "$CUR_Y" -eq "$LINES" ] ; then
# printf "\e[u\e[1A\e[K"
printf "\e[u\eM\e[K"
else
printf "\e[u\e[K"
fi
done
if [ "${answer^}" == "Y" ]; then
return 0
fi
return 1
}
for (( i = 100, max = 110; i <= max; i++ )) ; do
printf " %d\n" $i
if [ $i -eq $max ] ; then
if askYesOrNo "Do you wish to continue?" ; then
(( max += 10 ))
fi
fi
done
Could be condensed a bit but this is easier to read.
It works here. Does it work on your system?
I want to get the screen width and cursor positions.
When I used curses, all the screen content was cleared.
So Can I use curses to get the screen size without clearing anything in the window?
Or is there any other alternative???
I can use only C or C++. (0 Replies)
Hi,
Pleae help me on this. Normally, when we say read username, the cursor will come in the first position of next line, but I want the output of the below
Normal usage
-------------
please enter username:
_
I want like the below
----------------------
please enter username:
... (2 Replies)
Hi to all!
I'm a teacher of maths and physics in an italian high school in Milan, Italy.
I need a simple program that read the position of mouse cursor in function of time and write the coordinates in a text file. The time resolution have to be something like 1/10 sec or better (I have to know... (2 Replies)
hi all,
am trying to modify a ksh script to group server names together depending on the cluster they sit in. currently the script does a
find . -name '*.pid'
to find all running servers and prints out their pids and names.
current output looks something like this :
serverA ... (1 Reply)
I need to get the cursor position, and put it inside a variable. Problem is, i don't have the tput command, or ncurses.
Apparently I was supposed to try the following:
echo -e '\E
But I don't get a value or anything. Please help. (3 Replies)
Hi there.
It's easier to explain this with a pseudo code, I hope this makes sense:
var1=hello
echo $var1
some kind of loop
echo loop counter
done
How do I hold the cursor position immediately behind the last output so I'd get something like:
hello123456789
DOS used to use ","... (5 Replies)
Discussion started by: MuntyScrunt
5 Replies
LEARN ABOUT DEBIAN
srvsearch
RULI(1) General Commands Manual RULI(1)NAME
srvsearch, sync_srvsearch, smtpsearch, sync_smtpsearch, httpsearch, sync_httpsearch, ruli-getaddrinfo
- Sample programs for RULI Library (RFC 2782)
SYNOPSIS
echo _service._protocol.nongnu.org | ruli-getaddrinfo
echo _service._protocol.nongnu.org | srvsearch [ options ]
echo _service._protocol.nongnu.org | sync_srvsearch [ options ]
echo nongnu.org | smtpsearch [ options ]
echo nongnu.org | sync_smtpsearch [ options ]
echo nongnu.org | httpsearch [ options ]
echo nongnu.org | sync_httpsearch [ options ]
DESCRIPTION
This manual page documents briefly sample programs for the ruli(3) library.
ruli is a library aimed at querying DNS SRV resource records.
OPTIONS
For http searches, one can force the port number by specifying it as the first option.
search Use the resolver search list defined in '/etc/resolv.conf'.
need_ra
Require RA (Recursion Available) bit in the name server answer.
noinet Don't fetch IPv4 addresses.
noinet6
Don't fetch IPv6 addresses.
uri_port
Assume the specified default port was forced by the user-supplied URI.
nowalk Don't search addresses missing from the name server answer.
nofall Don't launch fallback queries for addresses, if the SRV query fails.
nosort6
Don't sort the address list to give preference to IPv6 addresses.
EXAMPLES
echo _telnet._tcp.nongnu.org | ruli-getaddrinfo
echo _smtp._tcp.nongnu.org | srvsearch search
echo _smtp._tcp.nongnu.org | sync_srvsearch search noinet6
echo nongnu.org | smtpsearch noinet
echo nongnu.org | sync_smtpsearch nowalk nofall
echo nongnu.org | httpsearch noinet6
echo nongnu.org | sync_httpsearch 80
SEE ALSO ruli(3)AUTHOR
This manual page was written by Everton da Silva Marques <evertonsm@yahoo.com.br>.
October 08, 2004 RULI(1)