我正在编写一个小脚本,该脚本需要几个命令行参数,并将它们的值替换为一些文件。
我有一个要求,用户可以在其计算机上指定文件,也可以通过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
,它将首先下载文件,然后将其作为参数传递。
答案 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