首页 > 解决方案 > shell 脚本没有错误地执行

问题描述

我编写了一个 shell 脚本将文件从 Windows 目录复制到远程 Linux 机器。我正在使用 cygwin 运行脚本。该脚本被执行而没有任何错误。我pscp用来复制文件,但文件没有被复制。安装腻子并设置环境变量。

在不放入.sh文件的情况下,该pscp命令会复制文件。

#!/bin/bash
logFile=/cygdrive/e/Automated/Po_transfer/po_filesfileTransfer.log 
 d=`date +%d-%m-%Y`
 t=$(date +"%T")
cd /cygdrive/e/Automated/Po_transfer/
FileName=`ls -tr|grep PO*_BV.csv >> $logFile`
pscp -pw abcd $FileName user@xxx.yy.zz.qq:/home/ckp/po
if [ $? = 0 ];
then
echo "$d  $t  $FileName transferred to Asics Factory successfully" >> $logFile
fi

该脚本必须将文件复制到 Linux 机器上的目标目录,但控制台显示:

./PO_Transfer.sh
PuTTY Secure Copy client
Release 0.70
Usage: pscp [options] [user@]host:source target
       pscp [options] source [source...] [user@]host:target
       pscp [options] -ls [user@]host:filespec

标签: linuxcygwinshpscp

解决方案


推荐阅读