Try changing the value of IFS to newline, so select (and shell syntax in general) only splits output on lines:
Code:
OLDIFS="$IFS"
IFS="
"
You'll want to do IFS="$OLDIFS" whenever not in that loop to prevent splitting from acting strange later.
Close, but still not quite there. It's retaining the first three columns but still breaking off the fourth:
Revised code:
Code:
echo Select a backup from the following:
bkupset=''
OLDIFS="$IFS"
IFS="
"
PS3='Select backup: '
echo " DBID |TAG |START_TIME |KEEP_UNTIL"
while [[ $bkupset = "" ]]; do
select bkupset in $(sqlplus -s $rmanuser/$rmanpw@rmcat <<EOF
set echo off feedback off verify off head off trimsp on
alter session set nls_date_format='dd-Mon-yyyy_hh24:mi:ss';
select d.dbid,
bp.tag,
min(bp.start_time),
min(bs.keep_until)
from rc_backup_piece bp
join rc_database d
on bp.db_key=d.db_key
join rc_backup_set bs
on bp.bs_key=bs.bs_key
where d.name=upper('$ORACLE_SID')
and bs.keep='YES'
group by d.dbid,
bp.tag,
bs.keep_until
order by d.dbid,
bp.tag
;
EOF
) "None of the above" ; do
if [[ $bkupset = "" ]]; then
echo
echo "Please enter a valid number. Retry.";
echo
elif [[ $bkupset = "None of the above" ]]; then
exit ;
else {
break ;
}
fi
break
done
done
#
unset PS3
IFS="$OLDIFS"
Result:
Code:
Select a backup from the following:
DBID |TAG |START_TIME |KEEP_UNTIL
1) 528959692 MYDB_20170228_104831 28-Feb-2017_10:49:11
2) 31-Mar-2017_00:00:00
3) 528960845 MYDB_20170228_105831 28-Feb-2017_10:59:14
4) 15-Mar-2017_00:00:00
5) None of the above
Select backup: 5
Btw, just to make sure I'm not getting confuse by font rendering on my screen, your suggested change to IFS is
IFS=" < that's IFS equals double-quote sign followed by new line
" < followed by another double-quote sign.
Hi all
is menu driven by SELECT can be a dynamic ?
My requirement is that i want SELECT to be created on run time not predefine . The select should be created as per the no of
words in a file
thanks in advance
rawat (2 Replies)
Is there any way to implement a drop down menu selection in bash?
This is on CDLinux which is a very minimal live CD and I am using it to install an image onto a hard drive. Part of that process is the timezone selection. There are just too many timezones to attempt to use the "select" command.... (1 Reply)
is there a way I can make the menu list reappear when I use select ?
-----
menulist="Change_title Remove_tag Change_tag Add_line Quit"
select word in $menulist #change_title remove_tag change_tag add_line quit
do
case $word in
# first menu option Change Title
... (9 Replies)
Hello everyone.
I am using the select command to build a menu, here is my question:
Is it possible to generate a menu which contains several sections and have a separator between the sections without having a selection number generated in front of the separator?
This is a sample of what I would... (1 Reply)
Hi All,
I am trying to use the select command & the menu.
below mention is my script
#!/bin/bash
2
3 PS3="Is today your birthday? " #PS3 system variable
4
5 echo "\n"
6
7
8 select menu_selection in YES NO QUIT
9 do
10
11 ... (1 Reply)
Hi,
I am using a select in ksh for a script
#!/bin/ksh
FIRSTLIST='one two three four quit'
PS3='Please select a number: '
select i in $FIRSTLIST ;
do
case $i in
one) print 'this is one' ;;
two) print 'this is 2' ;;
three) print 'this is 3' ;;
four) print... (7 Replies)
I am creating a Select menu with a few options and I would like to create a "better" looking interface than just this:
1) Option 1
2) Option 2
3) Option 3
Instead, I would like something like this:
***********
* Cool Script *
* 1) Option 1 *
* 2) Option 2 *
* 3) Option 3 *... (2 Replies)
Hi All,
I need to develop a bash script list “list of files” and able to select if any and set as globe variable in script and use for other function.
I would like to see in menu format.
Example out put
Below are the listed files for database clone
1. Sys.txt
2. abc.txt
3. Ddd.txt... (1 Reply)
Oracle Linux 5.6 64-bit
Given the below snippet
ORACLE_SID=''
PS3='Select target (test) database being refreshed: '
#
while ]; do
select ORACLE_SID in `egrep -i '^FS|^HR' /etc/oratab |\
awk -F\: '{print $1}'|sort` ; do
if ]; then
echo
echo "Please enter a... (19 Replies)
hi i am new to bash scripting ..
i created a bunch of folders but only want the folder names with file1. so i go in and make an array to grab the folders the put in a file then i strip the directories so i just have the folder names i need then i would like to make the menu with a selection... (3 Replies)