08-23-2008
Unix Shell Script: With Menu Option
I am attempting to create a shell script with the following capaciblities:
1. Listed options to choice from
2. Use to perform awk statements
3. Print a report with the awk results
My questions are
1. How do I select more than one file for option #5 and #6
2. How to I create an output file for each option of 5 and 6
3. Is it better to use case statements, if so why
4. I am receiving the following arrow message on line #21.
'/menu_script.sh: line 21: syntax error near unexpected token `in
'/menu_script.sh: line 21: ` case "$yourch" in
Below is the script:
# Script to create menus and take action according to that selected menu item.
#
#
while :
do
clear
echo "----------------------------------------------"
echo " * * * * * * * Main Menu * * * * * * * * * * "
echo "----------------------------------------------"
echo "[1] Show Today's date/time"
echo "[2] Show files in current directory"
echo "[3] Show calendar"
echo "[4] Start editor to write letters"
echo "[5] Show IP's scanned by Nessus"
echo "[6] Produce a Tabular Nessus Report"
echo "[7] Produce a non-scan Tabular Nessus Report"
echo "[8] Exit/stop"
echo "----------------------------------------------"
echo -n "Enter your menu choice [1-5]:"
read yourch
case $yourch in
1) echo "Today is 'date' , press a key. . ." ; read ;;
2) echo "Files in 'pwd'" ; ls -l ; ech "Press a key. . ." ; read ;;
3) cal ; echo "Press a key. . ." ; read ;;
4) vi ;;
5) echo "Enter your NBE file(s): \c"; read FNAME; cat "$FNAME" | grep results |
awk -F"|" '{print $3}' | sort | uniq ;;
6) echo "Enter your NBE file(s): \c"; read FNAME; cat "$FNAME" |
awk -F"|" '$1 == "results" {gsub (/\n/,"",$7};
printf "%s\t%s\t%s\t%s\t%s\n", $3,$4,$5,$6,$7}' > rawresults.txt
7) echo "Enter your NBE file(s): \c"; read FNAME; cat "$FNAME" | awk -F"|"
'$1 != "results" {gsub (/\n/,"",$7); printf "%s\t%s\t%s\n", $1,$2,$3,&$7} > non_results.txt
8) exit 0 ;;
*) echo "Opps!!! Please select choice 1,2,3,4,5,6,7 or 8";
echo "Press a key. . ." ; read ;;
esac
done
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have created a main menu in the following way:
while true; do
echo " "
echo "Main Menu: "
echo "Please Select An Option Using The Options Provided."
echo " "
echo "1 - Search All Files"
echo " "
echo "2 - Search Individual Files"
echo " "
... (1 Reply)
Discussion started by: amatuer_lee_3
1 Replies
2. Shell Programming and Scripting
hi i need to perform following task
have to write script to display menu
like 1) login as user1
2) login as user2
3) login as user3
4) go to shell
script will be run through root user user1, user2 will be logged to specific thr account. if 4th option selected it must pass... (3 Replies)
Discussion started by: anup13
3 Replies
3. Shell Programming and Scripting
How do I add the option to change the path in a menu? I have this script. The user chooses a number and had the option of doing something, looking for log files etc. There is a possibility they might want to look at a different path other than what I have given them such as... (2 Replies)
Discussion started by: taekwondo
2 Replies
4. UNIX for Dummies Questions & Answers
i'm confused what this means.
i was asked to design a menu or command line option driven script that reads out of a DB and displays info such as
read_data.pl -u <user> -e <event>
which would print commands run by <user>with the <event> in the db.
any suggestions? i've been using... (2 Replies)
Discussion started by: kpddong
2 Replies
5. Ubuntu
hey all,
I already installed nautilus-actions
now , I want to add "print path" script(option) to the right context menu!..
I did :
http://img853.imageshack.us/img853/6973/59818245.png
http://img847.imageshack.us/img847/8758/37217230.png
the script print located in... (2 Replies)
Discussion started by: eawedat
2 Replies
6. Shell Programming and Scripting
I have a script which uses READ to detect choice of menu option...now I want to change the script without doing whole rewrite such that when user runs ./script.sh 5 it would execute menu option 5 rather than user running ./script.sh waiting for it to load and then pressing "5 enter"
Is it... (1 Reply)
Discussion started by: holyearth
1 Replies
7. Shell Programming and Scripting
Hello,
I want to design a script that will call an existing menu script and select options one by one and redirict the out put to a file.
For example;-
In the script MENU.sh there are 10 options i want to design a script MENU2.sh that will select option 2 3 4 6 7 10 and redirict the output... (4 Replies)
Discussion started by: spradha
4 Replies
8. Shell Programming and Scripting
Hi All,
I have written a shell script that show menu driven option.
My requirement is that in the menu driven option i want to select multiple choice.
i.e
if i want to select 1 or 1,2 or 1,2,3 or 2,3 etc ....
Can some one help me in that
My script.
while true; do
echo " "
... (8 Replies)
Discussion started by: Nawrajesh
8 Replies
9. Shell Programming and Scripting
Hi All,
I have written a menu driven bash shell script.
Current Output is as below:
-------------------------------------
Main Menu
-------------------------------------
Option 1
Option 2
Option 3
Option 4
Exit
=====================================
Enter your... (3 Replies)
Discussion started by: kiran_j
3 Replies
10. Shell Programming and Scripting
Here is my script for the menu options.
# Bash Menu Script Example
PS3='Please enter your choice: '
options=("Option 1:" "Option 2:" "Other Reason:" "Quit")
select opt in "${options}"
do
case $opt in
"Option 1 :")
echo "you chose choice 1"
;;
... (3 Replies)
Discussion started by: mohtashims
3 Replies
ECHO(3) 1 ECHO(3)
echo - Output one or more strings
SYNOPSIS
void echo (string $arg1, [string $...])
DESCRIPTION
Outputs all parameters.
echo is not actually a function (it is a language construct), so you are not required to use parentheses with it. echo (unlike some other
language constructs) does not behave like a function, so it cannot always be used in the context of a function. Additionally, if you want
to pass more than one parameter to echo, the parameters must not be enclosed within parentheses.
echo also has a shortcut syntax, where you can immediately follow the opening tag with an equals sign. Prior to PHP 5.4.0, this short syn-
tax only works with the short_open_tag configuration setting enabled.
I have <?=$foo?> foo.
PARAMETERS
o $arg1
- The parameter to output.
o $...
-
RETURN VALUES
No value is returned.
EXAMPLES
Example #1
echo examples
<?php
echo "Hello World";
echo "This spans
multiple lines. The newlines will be
output as well";
echo "This spans
multiple lines. The newlines will be
output as well.";
echo "Escaping characters is done "Like this".";
// You can use variables inside of an echo statement
$foo = "foobar";
$bar = "barbaz";
echo "foo is $foo"; // foo is foobar
// You can also use arrays
$baz = array("value" => "foo");
echo "this is {$baz['value']} !"; // this is foo !
// Using single quotes will print the variable name, not the value
echo 'foo is $foo'; // foo is $foo
// If you are not using any other characters, you can just echo variables
echo $foo; // foobar
echo $foo,$bar; // foobarbarbaz
// Some people prefer passing multiple parameters to echo over concatenation.
echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10);
echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "
";
echo <<<END
This uses the "here document" syntax to output
multiple lines with $variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon. no extra whitespace!
END;
// Because echo does not behave like a function, the following code is invalid.
($some_var) ? echo 'true' : echo 'false';
// However, the following examples will work:
($some_var) ? print 'true' : print 'false'; // print is also a construct, but
// it behaves like a function, so
// it may be used in this context.
echo $some_var ? 'true': 'false'; // changing the statement around
?>
NOTES
Note
Because this is a language construct and not a function, it cannot be called using variable functions.
SEE ALSO
print(3), printf(3), flush(3), Heredoc syntax.
PHP Documentation Group ECHO(3)