我正在编写一个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”位置创建的。它在我的家乡创造。
有谁能告诉我我做错了什么?
答案 0 :(得分:0)
您似乎没有连接这两个文件。把它作为test.ksh
的第一行:
. /path/to/my_pwd
在Bourne类型的shell语言中,dot命令“获取”命名文件,即在当前shell中执行它。之后,您的脚本将可以访问变量。