The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
inom shell script skicka vänta och om annan mnmonu Shell-programmering och Skript 1 04-20-2009 06:41
Använda Räkna resultat i en Shell script kaltekar Shell-programmering och Skript 2 10-17-2008 10:08
Använda räknar skriptet i ett shell script eller vice versa nua7 Shell-programmering och Skript 0 07-18-2008 08:16
Behöver du hjälp med Expect och Shell script tonan Shell-programmering och Skript 1 04-10-2008 11:45
Lösenord förändras i ett skript (skal och räkna) chellam Shell-programmering och Skript 1 08-15-2006 12:12

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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 04-22-2009
mnmonu mnmonu is offline
Registered User
  
 

Join Date: februari 2009
Inlägg: 32
inom shell script skicka vänta och om annan

Hej,

Jag har skrivit ett shell script, med hjälp av att jag kan ansluta till fjärr-maskin men jag måste

#! / usr / bin / förvänta-f
ange adress [Lindex $ argv 0]
ange användarnamn [Lindex $ argv 1]
Ange lösenord [Lindex $ argv 2]
uppsättning OOLpath [Lindex $ argv 3]
uppsättning dbusername [Lindex $ argv 4]
uppsättning dbpasswd [Lindex $ argv 5]
uppsättning tnsname [Lindex $ argv 6]
uppsättning recdbusername [Lindex $ argv 7]
uppsättning recdbpasswd [Lindex $ argv 8]
uppsättning rectnsname [Lindex $ argv 9]
leka ssh $ (användarnamn) @ $ (Adress)
förvänta "$ (användarnamn) @ $ (adress) 's password:"
Skicka - "$ (lösenord) \ r"
förvänta "$"
Skicka - "cd $ (OOLpath) \ r"
förvänta "$"
Skicka - "cd Client \ conf \ r"
########## IF-ELSE Block



förväntar EOF

men jag behöver för att kontrollera om en fil (som heter parfile) det finns eller inte och om det finns sedan ändra någon parameter värde

katt parfile
dbtnsname \u003d clienttns

dbuserid \u003d scott

dbpasswd \u003d tiger

och om det inte finns sedan kopiera från någon katalog och sedan ändrar parameter dbuserid, dbpasswd värde.


Please Please help me.Thanks i förväg.
  #2 (permalänk)  
Old 04-22-2009
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Ort: Tyskland
Inlägg: 2313
Jag har ingen erfarenhet av förvänta men jag kontrollerat mannens sida och inte hittat några provningsvillkor. Så kanske du är bättre att skriva denna del med om [[-e somefile]]; sedan .... fi i vissa shell script och embedd de förväntar sig en del i tanken script.
  #3 (permalänk)  
Old 04-23-2009
drl's Avatar
varselljus drl is offline Forum Advisor  
Registered User
  
 

Join Date: april 2007
Ort: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Inlägg: 717
Hej.

Här är en förvänta script som ansluter och sedan kontrollerar om en fil t2. Kanske detta kommer att bidra till någon mer kunnig slutar med:

Kod:
#!/usr/bin/expect --

# @(#) e4       Demonstrate running commands on remote computer with expect.

# Identify local computer, version of expect.
puts " Local computer is [eval exec uname -n]"
puts " Version of expect is [exp_version]."
puts ""
# Read login-name, computer-name, password from file.
set file "data1"
if { ! [file exists $file] } {
  puts " File $file not found -- exiting."
  exit 1
}
set input [open $file "r"]
set line [gets $input]
set list [split $line]
set login [lindex $list 0]
set box [lindex $list 1]
set password [lindex $list 2]
puts " login is $login, intended remote computer is $box"
set timeout 10
send_user " spawning: ssh $login@$box\n"
spawn ssh $login@$box
expect \[pP]assword:*
send "$password\r"
# send_user "(Got string Password*, sent password $password.)\n"
expect *$box*
# send "ls\r"
send {
bash <<EOF
echo " Hi from a here document on computer $(uname -n)."
if [ ! -f t2 ]
then
  echo " There is no file t2, creating it."
  touch t2
else
  echo " File t2 exists, using it."
fi
ls -l t2
rm t2
EOF
}
expect *$box*
send "exit\r"
expect "logout*"

Produktion:

Kod:
% ./e4
 Local computer is leap
 Version of expect is 5.42.1.

 login is vanilla, intended remote computer is vm-lenny
 spawning: ssh vanilla@vm-lenny
spawn ssh vanilla@vm-lenny
vanilla@vm-lenny's password:
Linux vm-lenny 2.6.26-2-686 #1 SMP Thu Mar 26 01:08:11 UTC 2009 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Apr 23 09:37:28 2009 from leap

bash <<EOF
echo " Hi from a here document on computer $(uname -n)."
if [ ! -f t2 ]
then
  echo " There is no file t2, creating it."
  touch t2
else
  echo " File t2 exists, using it."
fi
ls -l t2
rm t2
EOF
vanilla@vm-lenny:~$
vanilla@vm-lenny:~$ bash <<EOF
> echo " Hi from a here document on computer $(uname -n)."
> if [ ! -f t2 ]
> then
>   echo " There is no file t2, creating it."
>   touch t2
> else
>   echo " File t2 exists, using it."
> fi
> ls -l t2
> rm t2
> EOF
 Hi from a here document on computer vm-lenny.
 There is no file t2, creating it.
-rw-r--r-- 1 vanilla vanilla 0 2009-04-23 10:13 t2
vanilla@vm-lenny:~$ exit
logout

Om du ska använda förväntar utsträckning föreslår jag boken nedan ... Skål, varselljus

Citat:
Titel: Exploring Expect
Undertitel: A Tcl-baserad verktygslåda för Automatisera interaktiva program
Författare: Don Libes
Edition: Första
Datum: December 1994
Förlag: O'Reilly
ISBN: 1-56592-090-2
Sidor: 602
Kategorier: manus, interagerar, automatisera, systemadministration
Kommentarer: 3.5 stjärnor (25 recensioner) Amazon.com: Online Shopping för Electronics, Apparel, Computers, Books, DVDs & mer
Kommentarer: äldre bok, men fortfarande användbar
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 07:03.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0