delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/12/03/01:35:24

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Injected-Via-Gmane: http://gmane.org/
To: cygwin AT cygwin DOT com
From: James Hu <jxh AT despammed DOT com>
Subject: Re: scripting sftp in a bash script
Date: Wed, 3 Dec 2003 06:34:59 +0000 (UTC)
Lines: 35
Message-ID: <bqk06j$ej2$1@sea.gmane.org>
References: <Pine DOT GSO DOT 4 DOT 55L DOT 0312012315060 DOT 4922 AT scrubbing-bubbles DOT mit DOT edu> <bqhdqn$e2$1 AT sea DOT gmane DOT org>
X-Complaints-To: usenet AT sea DOT gmane DOT org
User-Agent: slrn/0.9.8.0 (CYGWIN_NT-5.0)

On 2003-12-02, James Hu <jxh AT despammed DOT com> wrote:
> On 2003-12-02, David Strozzi <dstrozzi AT MIT DOT EDU> wrote:
>> I'm trying to use sftp within a bash script on cygwin (version 1.5.5
>> on winXP pro).  Ideally I'd like to use a 'here document' rather than
>> using an external batchfile...
>>
>> ... are there other ways to script/call sftp (or a _secure_
>> equivalent)?
>
> sftp has its own batch file facility.  ...

David followed up with me directly.  I am posting a summary of our
exchange here for the archives:

David Strozzi <dstrozzi AT mit DOT edu> wrote:
> Thanks.  I'm aware of that, but here documents have the advantages
> of not having two separate files to keep track of, and you can use
> variables defined in the script in the commands. batchfiles may be the
> only solution and they will work, but be a bit awkward.

In your script, you can use a here document directed into cat,
and redirect the output of cat into a temporary file which is
used as the batch file for sftp.  When sftp completes, you can
remove the temporary file.

  $ cat <<. > foo.txt
  > Hello
  > world!
  > .
  $ cat foo.txt
  Hello
  world!
  $

-- James


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019