summaryrefslogtreecommitdiffstats
path: root/scpcall.exp
diff options
context:
space:
mode:
authorRenaud Chaillat <rchaillat@mandriva.com>2001-08-29 14:01:38 +0000
committerRenaud Chaillat <rchaillat@mandriva.com>2001-08-29 14:01:38 +0000
commita45bc93e9ae9e4f3db17c20e42c2d1438661a487 (patch)
tree402bea87dcbcdec3e2e9d5cf90859b7771ba650c /scpcall.exp
parentb1bd5d60aa9adc0d52627d900f510e118d56a808 (diff)
downloadmgaonline-a45bc93e9ae9e4f3db17c20e42c2d1438661a487.tar
mgaonline-a45bc93e9ae9e4f3db17c20e42c2d1438661a487.tar.gz
mgaonline-a45bc93e9ae9e4f3db17c20e42c2d1438661a487.tar.bz2
mgaonline-a45bc93e9ae9e4f3db17c20e42c2d1438661a487.tar.xz
mgaonline-a45bc93e9ae9e4f3db17c20e42c2d1438661a487.zip
added expect script to drive scp non interactively
Diffstat (limited to 'scpcall.exp')
-rwxr-xr-xscpcall.exp49
1 files changed, 49 insertions, 0 deletions
diff --git a/scpcall.exp b/scpcall.exp
new file mode 100755
index 00000000..ca76a6cf
--- /dev/null
+++ b/scpcall.exp
@@ -0,0 +1,49 @@
+#!/usr/bin/expect -f
+# Expect script to run a secure connection non-interactively
+#
+# Copyright (C) 2001 MandrakeSoft Renaud Chaillat (rchaillat@mandrakesoft.com)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+####################################################################################
+
+if "$argc == 3" {
+
+# Get username, host and password from commandline if present.
+
+ set username [lindex $argv 0]
+ set host [lindex $argv 1]
+ set password [lindex $argv 2]
+} else {
+
+ exit 0;
+
+}
+
+spawn /usr/bin/scp $username@$host:~/test .
+
+# The sleep is needed to give passwd time to get ready.
+expect {
+ "password:" { sleep 1; send -- "$password\r" } # send
+}
+
+expect {
+ "Permission denied" { exit 1 } # bad passwd
+ eof { exit 0 } # OK
+}
+
+exit 0
+
+
+