![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
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. |
|
|||||
|
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:
|