![]() |
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !! |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Accessing variables of one shell script in another shell script | rsendhilmani | Shell Programming and Scripting | 2 | 03-17-2009 01:17 AM |
| To call/execute a shell script from a shell script | konark | UNIX for Dummies Questions & Answers | 1 | 10-26-2007 06:16 PM |
| How to pass a parameter from one Shell-script to another Shell-script | subodhbansal | Shell Programming and Scripting | 2 | 09-22-2007 06:19 AM |
| How to Run a shell script from Perl script in Parent shell? | hifake | Shell Programming and Scripting | 16 | 08-28-2007 09:42 PM |
| Have a shell script call another shell script and exit | heprox | Shell Programming and Scripting | 2 | 11-20-2006 08:17 AM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Hi All;
I have a file , whose content is like :- file1: |SITE_A|host1|OS|IP|info| |SITE_A|host2|OS|IP|info| . . . |SITE_A|hostn|OS|IP|info| |SITE_B|hostx|OS|IP|info| . |SITE_B|hostxn|OS|IP|info| |ISITE_C|hosty|OS|IP|info| so, what syntax i can use if choose SITE_A or SITE_B /SITE_C,then it can display a menu like in this case if I choose SITE_A)HOSTNAME ======== 1.bbb 2.ccc 3.ddd 4.eeee 5.xxx 6.yyy 7.zzz 8.www and then if user select no 3 , so i can run ssh command which automaticly add server no 3 - ssh -X ddd the reason I question this , if i have a lot of server and site to maintain and i to make my script more clean. thx in advance!. |
|
||||
|
So far i have
like tradisional menu - such like : tput cup 0 4 echo " 1. host1 " tput cup 0 15 echo "2. host2" and so on ..... and then using case statement to read the the keystroke. case $input in 1 ) ssh user1@host1 ( I need to do all this command for each site and hosts) sorry - ( i can't provide the script , right now at home.but in this case i need to create 5 different menu for each site.What I just thingking is, I can add new host into 1 single file and the menu can append itself without i need to change my script and using the same command (ssh)for each hosts and site. |
|
||||
|
Pls correct me
Hi friends;
Can u look into this statement ; echo "Please Select Site Name?" select var in "site1" "site2" "site3" "site4" "site5"; do break done echo "You have selected $var" for i in `grep $var Inventory2|awk '{FS=":|; print $2}'` but getting the errors msg. : awk: newline in string near line 1 awk: syntax error near line 2 awk: illegal statement near line 2 and how can I check the column size so the next ouput can go to another rows ; like this : 1. Hosts1 2. Host2 3. Hosts3 4. Host4 5. Hosts5 6.Hosts6 |
|
||||
|
Maybe you had something in mind like this (this is far from perfect, but could be a nice starting point). Code:
#!/usr/bin/bash
INPUTFILE=file1
Site_Menu()
{
SITE=${1}
HOSTS="DUMMY `grep \"^|${SITE}|\" ${INPUTFILE} | cut -f3 -d\"|\" | sort -u`"
typeset -i NUMHOSTS
((NUMHOSTS=`echo ${HOSTS} | wc -w`-1))
HOSTARRAY=(${HOSTS})
CHOICE="-1"
while [ ${CHOICE} -ne 0 ]
do
tput clear
tput cup 0 0
echo -n "Menu for site: ${SITE}"
ROW=2
COL=0
tput cup ${ROW} ${COL}
echo "0. Back"
INDEX=1
while [ ${INDEX} -le ${NUMHOSTS} ]
do
((COL=${COL}+20))
if [ ${COL} -eq 80 ]
then
((ROW=${ROW}+1))
COL=0
fi
tput cup ${ROW} ${COL}
echo -n "${INDEX}. ${HOSTARRAY[${INDEX}]}"
((INDEX=${INDEX}+1))
done
((ROW=${ROW}+2))
COL=0
tput cup ${ROW} ${COL}
echo -n "Enter your choice: "
read CHOICE
if [ ${CHOICE} -gt 0 -a ${CHOICE} -le ${NUMHOSTS} ]
then
ssh user@${HOSTARRAY[${CHOICE}]}
fi
done
}
#Main
SITES="DUMMY `cut -f2 -d"|" ${INPUTFILE} | sort -u`"
typeset -i NUMSITES
((NUMSITES=`echo ${SITES} | wc -w`-1))
SITEARRAY=(${SITES})
CHOICE="-1"
while [ ${CHOICE} -ne 0 ]
do
tput clear
tput cup 0 0
echo -n "Main Menu"
ROW=2
COL=0
tput cup ${ROW} ${COL}
echo "0. Done"
INDEX=1
while [ ${INDEX} -le ${NUMSITES} ]
do
((COL=${COL}+20))
if [ ${COL} -eq 80 ]
then
((ROW=${ROW}+1))
COL=0
fi
tput cup ${ROW} ${COL}
echo -n "${INDEX}. ${SITEARRAY[${INDEX}]}"
((INDEX=${INDEX}+1))
done
((ROW=${ROW}+2))
COL=0
tput cup ${ROW} ${COL}
echo -n "Enter your choice: "
read CHOICE
if [ -z ${CHOICE} ]
then
CHOICE=-1
fi
if [ ${CHOICE} -gt 0 -a ${CHOICE} -le ${NUMSITES} ]
then
Site_Menu ${SITEARRAY[${CHOICE}]}
CHOICE=-1
fi
done
Last edited by Ygor; 02-04-2007 at 08:24 PM.. Reason: Added [code] tags for readability. |
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|