Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
shell脚本停止工作--需要重写吗?_Shell_Ubuntu_Scripting - Fatal编程技术网

shell脚本停止工作--需要重写吗?

shell脚本停止工作--需要重写吗?,shell,ubuntu,scripting,Shell,Ubuntu,Scripting,下面的脚本在我的Mac OS X上工作。我现在使用的是Ubuntu操作系统,而脚本不再工作。我想知道这里有什么我需要改变的吗?我确实把第一行改成了#/垃圾桶/扑向#/bin/sh,但它仍然抛出一个错误。。。。基本上,当我尝试运行它时,会出现一个错误: Syntax error: end of file unexpected (expecting ")") #!/bin/sh REMOTE='ftp.example.com' USER='USERNAME' PASSWORD='PASSWORD'

下面的脚本在我的Mac OS X上工作。我现在使用的是Ubuntu操作系统,而脚本不再工作。我想知道这里有什么我需要改变的吗?我确实把第一行改成了#/垃圾桶/扑向#/bin/sh,但它仍然抛出一个错误。。。。基本上,当我尝试运行它时,会出现一个错误:

Syntax error: end of file unexpected (expecting ")")

#!/bin/sh
REMOTE='ftp.example.com'
USER='USERNAME'
PASSWORD='PASSWORD'
CMDFILE='/jtmp/rc.ftp'
FTPLOG='/jtmp/ftplog'
PATTERN='SampFile*'

date > $FTPLOG
rm $CMDFILE 2>/dev/null

LISTING=$(ftp -in $REMOTE <<EOF
user $USER $PASSWORD
cd download
ls $PATTERN
quit
EOF )

echo "open $REMOTE" >> $CMDFILE
echo "user $USER $PASSWORD" >> $CMDFILE
echo "verbose" >> $CMDFILE
echo "bin" >> $CMDFILE
echo "cd download" >> $CMDFILE
 for FILE in $LISTING
  do
   echo "get $FILE" >> $CMDFILE
  done
echo "quit" >> $CMDFILE

  ftp -in < $CMDFILE >> $FTPLOG 2>&1

rm $CMDFILE
语法错误:文件结尾意外(应为“)”)
#!/垃圾箱/垃圾箱
REMOTE='ftp.example.com'
USER='USERNAME'
PASSWORD='PASSWORD'
CMDFILE='/jtmp/rc.ftp'
FTPLOG='/jtmp/FTPLOG'
PATTERN='SampFile*'
日期>$FTPLOG
rm$CMDFILE 2>/dev/null
清单=$(ftp-in$REMOTE$CMDFILE)
echo“user$user$PASSWORD”>>$CMDFILE
echo“verbose”>$CMDFILE
echo“bin”>>$CMDFILE
echo“cd下载”>>$CMDFILE
对于$LISTING中的文件
做
回显“获取$FILE”>>$CMDFILE
完成
回显“退出”>$CMDFILE
ftp-在<$CMDFILE>>$FTPLOG 2>&1中
rm$CMDFILE
编辑

我打开了set-v和set-x,看起来它没有运行列表…知道为什么吗

REMOTE='ftp.example.com'
+ REMOTE=ftp.example.com
USER='USERNAME'
+ USER=USERNAME
PASSWORD='PASSWORD'
+ PASSWORD=PASSWORD
CMDFILE='/jtmp/rc.ftp'
+ CMDFILE=/jtmp/rc.ftp
FTPLOG='/jtmp/ftplog'
+ FTPLOG=/jtmp/ftplog
PATTERN='SampFile*'
+ PATTERN=SampFile*

date > $FTPLOG
+ date
rm $CMDFILE 2>/dev/null
+ rm /jtmp/rc.ftp

LISTING=$(ftp -in $REMOTE <<EOF
user $USER $PASSWORD
cd download
ls $PATTERN
quit
EOF )

echo "open $REMOTE" >> $CMDFILE
echo "user $USER $PASSWORD" >> $CMDFILE
echo "verbose" >> $CMDFILE
echo "bin" >> $CMDFILE
echo "cd download" >> $CMDFILE
 for FILE in $LISTING
  do
   echo "get $FILE" >> $CMDFILE
  done
echo "quit" >> $CMDFILE

  ftp -in < $CMDFILE >> $FTPLOG 2>&1

rm $CMDFILE./inFullRefresh.sh: 34: Syntax error: end of file unexpected (expecting ")")
REMOTE='ftp.example.com'
+REMOTE=ftp.example.com
USER='USERNAME'
+用户=用户名
PASSWORD='PASSWORD'
+密码=密码
CMDFILE='/jtmp/rc.ftp'
+CMDFILE=/jtmp/rc.ftp
FTPLOG='/jtmp/FTPLOG'
+FTPLOG=/jtmp/FTPLOG
PATTERN='SampFile*'
+模式=样本文件*
日期>$FTPLOG
+日期
rm$CMDFILE 2>/dev/null
+rm/jtmp/rc.ftp
清单=$(ftp-in$REMOTE$CMDFILE)
echo“user$user$PASSWORD”>>$CMDFILE
echo“verbose”>$CMDFILE
echo“bin”>>$CMDFILE
echo“cd下载”>>$CMDFILE
对于$LISTING中的文件
做
回显“获取$FILE”>>$CMDFILE
完成
回显“退出”>$CMDFILE
ftp-在<$CMDFILE>>$FTPLOG 2>&1中
rm$CMDFILE./inFullRefresh.sh:34:语法错误:文件结尾意外(应为“)”)

我认为,
是的……在您发布此信息之前,我就已经知道了……不过,谢谢:)
EOF )
EOF
)