允许wget作为命令行参数的一部分运行

时间:2019-03-08 18:55:31

标签: bash

我正在编写一个小脚本,该脚本需要几个命令行参数,并将它们的值替换为一些文件。
我有一个要求,用户可以在其计算机上指定文件,也可以通过http(s)获取文件,但是问题是我的脚本将wget当作参数使用了,实际上并未执行它。

这是我用来解析参数的内容:

while [[ "$#" -gt 0 ]] ; do   
    if [[ "$1" == '--ip-address' ]] ; then  
        shift  
        ip_address="$1"  
    fi  
    if [[ "$1" == '--hostname' ]] ; then  
        shift  
        hostname="$1"  
    fi
    shift
done

我正在寻找的东西就像 script.sh --file wget http://foo.bar/file.txt,它将首先下载文件,然后将其作为参数传递。

1 个答案:

答案 0 :(得分:0)

那又怎么样呢?

 if [[ "$1" == '--file' ]] ; then  
        shift  
        filename="$1"
        if [ `echo $filename|grep '://'` != "" ]; then
           wget --no-check-certificate -O /tmp/file "$filename"
           filename=/tmp/file
        fi
    fi