0

我正在编写一个 ksh 文件,它将创建 FTP 文件到 ftp 位置..

我有这个文件 my_pwd 文件,我在其中声明了下面的所有变量:-

# File for set environment for systemuser
##
#
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/client
#export PWD= CONNECT-STRING-PROVIDED-BY-DBA
export RUNTIME=/abc/batch/pte/scripts
PATH=$PATH:/u01/app/oracle/product/11.2.0/client/bin/
export PATH
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
MY_PW="test/123@pttest.pte.com" export my_PW
RUNTIME="/abc/batch/pte/scripts"; export RUNTIME
OUTDIR="/abc/batch/pte/outdir"; export OUTDIR
export ILC_HOME=/abc/batch/pte/scripts/logcheck
export ILC_CONNECT=ilc_abc/ilc_abc@pte.pte.com.com
export TEST_TP_SERVER=PTTEST-0012.pte.com
export TEST_TP_USER_ID=xxx
export TEST_TP_USER_PWD=yyy123

我正在创建 test.ksh 文件,如下所示:-

cd ${RUNTIME}
NOW=$(date +"%y%m%d%H%M%S")
ftp -i -n -v ${TEST_TP_SERVER} <<END
user $TEST_TP_USER_ID $TEST_TP_USER_PWD
lcd ${OUTDIR}
put "TEST.txt" "$NOW.ABC"
quit
END

在此之后,我可以看到“传输完成”消息。但它不是在 ="/abc/batch/pte/outdir" location 中创建的。它正在我的家中创建。

谁能告诉我我做错了什么?

4

1 回答 1

0

您似乎没有连接这两个文件。把它作为第一行test.ksh

. /path/to/my_pwd

在 Bourne 类型的 shell 语言中,点命令“源”指定的文件,即在当前 shell 中执行它。之后,您的脚本将可以访问这些变量。

于 2013-11-06T13:04:42.163 回答