【问题标题】:Download a file which is present in newly created directory in a webserver下载网络服务器中新创建的目录中存在的文件
【发布时间】:2014-01-03 12:33:13
【问题描述】:

我正在尝试自动执行一项任务,每次我都必须从更新位置下载一个新文件,该文件位于网络服务器上的目录“mydirectory”中,目录结构是这样的

http://mydirectory/ABC1/ABC1.tar.gz

有时会创建一个新文件并出现在 linux 网络服务器的“mydirectory”文件夹中

http://mydirectory/ABC2/ABC2.tar.gz

现在我需要在每次发布此文件的新版本时下载此 ABC*.tar.gz 文件

注意:文件的父目录是相同的文件名向上“。” (点)点。

我用这段代码尝试了同样的事情:

echo "Please enter file version: "
read FILE_VER
echo "You entered: $FILE_VER"
echo download $FILE_VER patch to install then type yes/no  :
read CON_VAR
if["CON_VAR"="yes"];then
        echo Your patch is being downloaded...
        curl -o output_curl http://<hostname>/5.0.4/USG_5.0_$input_variable__Actiance64bit/USG_5.0_$input_variable_Actiance64bit.tar.gz .
        exit
else
        echo "You made a right choice or you are drunk :) "
fi

谁能建议我在这里缺少什么?

【问题讨论】:

    标签: linux shell curl download wget


    【解决方案1】:
    1. 您没有在此处显示的脚本中设置$input_variable。
    2. 如果您将$input_variable 设置在其他位置,请确保将其用作${input_variable},因为在您的代码中它后跟下划线,如果不以@987654324 的形式使用,它被视为变量名的一部分@。

    【讨论】:

      【解决方案2】:

      Shell 语法对空格非常敏感。这个

      if["CON_VAR"="yes"];then
      

      需要看起来像这样

      if [ "$CON_VAR" = "yes" ];then
      

      括号不仅仅是语法:[ 实际上是一个命令(它是test 命令),需要与if 命令和它的后续参数用空格分开。此外,test 命令根据它获得的参数数量做不同的事情。

      【讨论】:

        猜你喜欢
        • 2011-05-21
        • 2011-08-30
        • 2020-09-02
        • 1970-01-01
        • 1970-01-01
        • 2011-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多