How to pass arguments to an sftp script??


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to pass arguments to an sftp script??
# 1  
Old 07-03-2013
How to pass arguments to an sftp script??

hi,

Is it possible to pass arguments to a sftp script and use those arguments in the program?

for example

sftp_script

Code:
FILENAME=$1

#!/usr/bin/expect
spawn /usr/bin/sftp abc@ftp.abc.com
expect "abc@ftp.abc.com's password:"
send "pass\r"
expect "sftp>"
send "mput $FILENAME\r"
expect "sftp>"
send "bye\r"
expect eof

i don't know whetherthe above code works or not. but i want to pass the FILENAME to the sftp script.. can anyone tell if its possible or not.. if possible then plz suggest your idea.
# 2  
Old 07-03-2013
Has it thrown any error?
# 3  
Old 07-03-2013
i have not checked it yet. this is how i thought i can pass but only 10% sure of it. so will it work??

---------- Post updated at 09:46 AM ---------- Previous update was at 09:35 AM ----------

it throws this error

i used this script
sftp-script

Code:
#!/usr/bin/expect
FILENAME=$1
spawn /usr/bin/sftp abc@ftp.abc.com
expect "abc@ftp.abc.com's password:"
send "pass\r"
expect "sftp>"
send "mget $FILENAME\r"
expect "sftp>"
send "bye\r"
expect eof


Code:
$./sftp-script s1.txt

can't read "1": no such variable
    while executing
"FILENAME=$1"
    (file "./sftp-script" line 2)

is there any other way??
# 4  
Old 07-03-2013
try..

Code:
 
set FILENAME [lindex $argv 0]


Last edited by vidyadhar85; 07-03-2013 at 01:56 AM..
This User Gave Thanks to vidyadhar85 For This Post:
# 5  
Old 07-03-2013
ya it works fine.. thanks for the help..
# 6  
Old 07-03-2013
You do not need to use the expect brute-forcing tool to store and cram plaintext passwords insecurely into sftp. If you use keys, sftp automatic login will work directly, safely, and securely with no expect mumbo-jumbo. This is how it's supposed to work.

If your workplace has disallowed keys, they likely mean to forbid automatic login, and will be livid to discover you circumventing their rules by using an insecure, third-party brute-forcing utility instead.

Last edited by Corona688; 07-03-2013 at 01:08 PM..
This User Gave Thanks to Corona688 For This Post:
# 7  
Old 07-04-2013
i tried the above for a password less secure login.
i created a pair of keys in my local server using
Code:
ssh-keygen -t rsa

when i tried to copy the ~/.ssh/id_rsa.pub into the remote server using

Code:
ssh-copy-id -i ~/.ssh/id_rsa.pub abc@ftp.abc.com

it gave this error

Code:
-bash: ssh-copy-id: command not found

what could be the possible reason for this.??
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Cat a script, pipe it, then pass arguments to it?

suppose i have a perl script that is normally run this way: ./checkdisk.pl -H hostname -w 40 -c 80 but, for whatever reason, i cannot run the script directly as it should. But i can cat it through pipe. How can i pass the arguments "-H hostname -w 40 -c 80"? so this is what i'm doing,... (6 Replies)
Discussion started by: SkySmart
6 Replies

2. Shell Programming and Scripting

Need to pass arguments while running a Shell Script

Shell Script Gurus, I am writing a shell script which needs User ID's to pass as an Arguments in command line while executing. Can this be doable? I've never done this, If you give a sample script that would be helpful, Thanks. (1 Reply)
Discussion started by: shekar777
1 Replies

3. Shell Programming and Scripting

Pass Arguments to Command from Shell Script

Hi all, I am working on a project, in which I have to connect to Bluetooth low energy device. I am able to connect and do data transfer from command line. But I want to do from script Here is my script #!/bin/bash #sudo hcitool -i hci0 lescan sleep 1 sudo hcitool -i hci0 lecc --random... (8 Replies)
Discussion started by: nithin@embdes
8 Replies

4. Shell Programming and Scripting

How to pass arguments to an interactive script?

I've tried to find a solution to this, but I"m stumped. OS - RH Linux 5.9 I have a bash script <myProgram.sh> that gets executed manually and creates a small response file. I'm trying to automate the running of this script. When myProgram.sh runs, it prompts the user to enter 2 pieces of... (13 Replies)
Discussion started by: progkcp
13 Replies

5. Shell Programming and Scripting

Pass arguments to bash script

myscript.sh #!/bin/bash ARGA=$1 if ; then echo "${ARGA}:Confirmed" else echo "${ARGA}:Unconfirmed" fi when I run the above script from the command line, i run it as: ./myscript.sh jsmith now some times, i need to runn it this way: (8 Replies)
Discussion started by: SkySmart
8 Replies

6. Shell Programming and Scripting

To pass arguments to makefile using script

Hi, I want to run a target of makfile using script by passing different arguments to it again n again. I i need to grep certain things from the log file. eg make abc KAB=8 BAC=8 >& KAB_BAC.log grep "timeA" KAB_BAC.log grep "timeB" KAB_BAC.log (i want to store the difference of the two time... (0 Replies)
Discussion started by: vdhingra123
0 Replies

7. UNIX for Advanced & Expert Users

How to pass arguments to an interactive script

Hey guys, I have an interactive script that is quite critical to our production environmentl thus updating it to run non-interactively is not an option. The script takes a varying number of arguments, which it ques untill user confirm end of data entry e.g of user input : 1 2 y ... (3 Replies)
Discussion started by: geek.ksa
3 Replies

8. Shell Programming and Scripting

need help to pass arguments in script

Hi, I have a my script here-- print "The Perl Script does the User health check and system health check...\n"; print "---------------------------------------------------------------------\n"; # use strict; my($OS); $OS = $^O; # need to test @ARGV before GetOptions shifts it if (@ARGV... (1 Reply)
Discussion started by: namishtiwari
1 Replies

9. Shell Programming and Scripting

Need help to pass arguments to shell script

Hi, I have a shell script called ftp.sh which is running continously in background. I tried passing arguments to this script but it did not worked out. Below is ftp.sh script. Please help me case $param in start) sleep_func "300" echo "!ksh $scr_ddir/ftp.sh... (1 Reply)
Discussion started by: bhargav20
1 Replies

10. Shell Programming and Scripting

How to pass arguments to a function in a shell script?

Hi, I have two shell variables $t1 and $t2 which I need to pass to a function in a shell script. The function will do some computation with those two variables and echo the resultant. But I do not know how to pass teh arguments. The function written is f1() {...... ........ } What should... (3 Replies)
Discussion started by: preetikate
3 Replies
Login or Register to Ask a Question