I need to capture multiple values from user input and do not know how to do it. I'm writing a script to delete old files, but want to give the option to keep some by asking the user.
This is what my output looks like...
Code:
Old files to be deleted...
1 file1
2 file2
Then this bit of code is run after the above is output to keep or delete files.
Code:
echo "Would you like to keep any found files? (y/n)"
read USER_ANSWER
while [ ${USER_ANSWER} == "y" ]
do
echo "Type the number associated with the file(s) to be kept."
read USER_NUM
if [ $USER_NUM -gt ${#FILES[@]} -o $USER_NUM -le 0 ]
then
echo -e "Invalid."
else
echo -e "\nKeeping: " ${FILEST[${USER_NUM}]}"\n"
touch ${FILES[${USER_NUM}]}
echo -e "Removing "${FILES[@]}
break
fi
done
if [ ${USER_ANSWER} == "n" ]
then
echo -e "\nDeleting "${FILES[@]}
rm -r ${FILES[@]}
fi
And from this point I prompt the user and ask which files they want to keep if any, and they select a number from the above output and it keeps that file. But I want to make it so the user can input more than one number for keeping the files, like typing 1 2 3 4 if they want to keep those four files.
How do I do this? I'm new to bash the more explanation contained in the answer the more I can learn
Hi all,
I wrote a script that reads inputs from user and store in array named "input". The number of elements in the array is not fixed - determined only after user exit the while loop that reads the array values :
x=1
echo "Enter first value"
read input
while } != "exit" ]
do
... (1 Reply)
i have this basic line of code that doesn't work. i simply want to get the input parameter strings but when the script is run it appears that the first parameter is assigning the value to the second parameter.
#!/bin/sh
pdir=`pwd`
p1=$1
p2=$2
echo "directory: $pdir\n"
echo "parameter... (2 Replies)
Is there a way to display the default answer when accepting input from the user in the unix script..
e.g.
ans="n"
read $ans?"Enter y to continue n to exit:"
altough ans contains n the message doesn't display the current contents on ans .. you get
Enter y to continue n to exit: (8 Replies)
Hi
I want to accept multiple lines input with spaces from User and i have a working code like this.
char sRes;
char sReq;
printf("Please enter request:");
scanf("%",sReq); /* Accept the input from user */
printf("\nPlease enter response:");
scanf("%",sRes);
but the... (4 Replies)
Hi all.
I have the following command that is successfully searching for any one of the strings on all lines of a file and replacing it with the instructed value.
cat inputFile | awk '{gsub(/aaa|bbb|ccc|ddd/,"1234")}1' > outputFile
This does in fact replace any occurrence of aaa, bbb,... (2 Replies)
Hello,
For the input file, I am trying to split those records which have multiple values seperated by '|' in the last input field, into multiple records and each record corresponds to the common input fields + one of the value from the last field.
I was trying with an example on this forum... (4 Replies)
I have a program that accepts user input. For example I have mdacc that the user sets the value. I then have a class which stores the value set by the user. I use set_param to set the values in the class. I pass through it the list of user defines arguments from argv. What would be the opinion on... (0 Replies)
Hi
I am pretty confused in returning and capturing multiple values
i have defined a function which should return values "total, difference"
i have used as
#!/usr/bin/ksh
calc()
{
total=$1+$2
echo "$total"
diff=$2-$1
echo "$diff"
}
I have invoked this function as
calc 5 8
Now i... (2 Replies)
I would like to make a function or command that checks for keyboard input without interrupting the program and exits the program when a key is pressed (perhaps the 'q' key).
The program below monitors and prints/executes commands upon a change in primary (mouse selection) or clipboard buffer. If... (4 Replies)
Discussion started by: bedtime
4 Replies
LEARN ABOUT FREEBSD
ddb
DDB(8) BSD System Manager's Manual DDB(8)NAME
ddb -- configure DDB kernel debugger properties
SYNOPSIS
ddb capture [-M -core] [-N -system] print
ddb capture [-M -core] [-N -system] status
ddb script scriptname
ddb script scriptname=script
ddb scripts
ddb unscript scriptname
ddb pathname
DESCRIPTION
The ddb utility configures certain aspects of the ddb(4) kernel debugger from user space that are not configured at compile-time or easily
via sysctl(8) MIB entries.
To ease configuration, commands can be put in a file which is processed using ddb as shown in the last synopsis line. An absolute pathname
must be used. The file will be read line by line and applied as arguments to the ddb utility. Whitespace at the beginning of lines will be
ignored as will lines where the first non-whitespace character is '#'.
OUTPUT CAPTURE
The ddb utility can be used to extract the contents of the ddb(4) output capture buffer of the current live kernel, or from the crash dump of
a kernel on disk. The following debugger commands are available from the command line:
capture [-M core] [-N system] print
Print the current contents of the ddb(4) output capture buffer.
capture [-M core] [-N system] status
Print the current status of the ddb(4) output capture buffer.
SCRIPTING
The ddb utility can be used to configure aspects of ddb(4) scripting from user space; scripting support is described in more detail in
ddb(4). Each of the debugger commands is available from the command line:
script scriptname
Print the script named scriptname.
script scriptname=script
Define a script named scriptname. As many scripts contain characters interpreted in special ways by the shell, it is advisable to
enclose script in quotes.
scripts
List currently defined scripts.
unscript scriptname
Delete the script named scriptname.
EXIT STATUS
The ddb utility exits 0 on success, and >0 if an error occurs.
EXAMPLES
The following example defines a script that will execute when the kernel debugger is entered as a result of a break signal:
ddb script kdb.enter.break="show pcpu; bt"
The following example will delete the script:
ddb unscript kdb.enter.break
For further examples, see the ddb(4) and textdump(4) manual pages.
SEE ALSO ddb(4), textdump(4), sysctl(8)HISTORY
The ddb utility first appeared in FreeBSD 7.1.
AUTHORS
Robert N M Watson
BUGS
Ideally, ddb would not exist, as all pertinent aspects of ddb(4) could be configured directly via sysctl(8).
BSD December 24, 2008 BSD