The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 02-03-2007
hampes hampes is offline
Registered User
  
 

Join Date: Feb 2007
Posts: 4
Smile Need Help on Shell Script

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!.
  #2 (permalink)  
Old 02-03-2007
sb008 sb008 is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2007
Posts: 384
What you have sofar?
  #3 (permalink)  
Old 02-03-2007
hampes hampes is offline
Registered User
  
 

Join Date: Feb 2007
Posts: 4
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.
  #4 (permalink)  
Old 02-03-2007
hampes hampes is offline
Registered User
  
 

Join Date: Feb 2007
Posts: 4
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
  #5 (permalink)  
Old 02-04-2007
sb008 sb008 is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2007
Posts: 384
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.
  #6 (permalink)  
Old 02-05-2007
hampes hampes is offline
Registered User
  
 

Join Date: Feb 2007
Posts: 4
Thx Sb008

Hi ;


thank for the program. it's works as i need. very appreciate on your help (SB008)
Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 08:01 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0