【问题标题】:Solaris shell scriptingSolaris shell 脚本
【发布时间】:2012-02-03 11:35:50
【问题描述】:

我正在编写一个脚本来使用一些规则来 ftp 一些文件。但是我在创建脚本 ftp 会话时遇到了问题。

下面是我现在使用的shell脚本。

#!/bin/bash
cd /var/ericsson/nin/charging/archive
date=`(/usr/bin/perl -e '($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time()-24*60*60);printf "%4d%02d%02d", $year+1900,$mon+1,$mday;')`
movedFile=`ls | grep $date`
HOST=xxxx
USER=xxxx
PASSWD=xxxxx
for i in $movedFile; 
do
    echo $date >> trial.txt
    echo "Uploading file $i" >> trial.txt
    ftp -n $HOST
    quote USER $USER
    quote PASS $PASSWD
    binary
    cd TEMP
    put $i
    quit
    END_SCRIPT
    echo "kk" 
done

问题是。无法触发ftp的引用命令。

【问题讨论】:

    标签: shell unix ftp


    【解决方案1】:

    查看bash Here Documents。您正在寻找的语法是:

      ftp -n $HOST <<END_SCRIPT
      quote USER $USER
      quote PASS $PASSWD
      binary
      cd TEMP
      put $i
      quit
    END_SCRIPT
    

    【讨论】:

    • 我知道这对我有用。 !! #!/bin/bash cd xxxx date=(/usr/bin/perl -e '($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time()-24*60*60);printf "%4d%02d%02d", $year+1900,$mon+1,$mday;')movedFile=ls | grep $dateHOST=xxxx USER=xxxx PASSWD=xxxx for i in $movedFile; do echo $date >> xxxx.log echo $i >> xxxx.log ftp -n $HOST
    • @OlgunKaya:甚至不要尝试在 cmets 中发布代码,没有支持。如果您找到的解决方案与使用 here-documents 不同,请将其发布为答案。
    • 如果系统允许在我的声望低于 100 之前这样做,我愿意这样做
    【解决方案2】:

    因为无法在 cmets 中看到它。这是正确的答案适用于我的情况

    cd xxxx 
    date=(/usr/bin/perl -e '($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time()-24*60*60‌​);printf "%4d%02d%02d", $year+1900,$mon+1,$mday;') 
    movedFile=ls | grep $date 
    HOST=xxxx 
    USER=xxxx 
    PASSWD=xxxx 
    for i in $movedFile; 
    do 
       echo $date >> xxxx.log 
       echo $i >> xxxx.log 
       ftp -n $HOST <<End-Of-Session user "$USER" "$PASSWD" 
       binary 
       cd TEMP 
       put $i 
       quit 
       End-Of-Session 
    done
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-18
      相关资源
      最近更新 更多