rvm
安装程序使用curl安装rvm。从rvm
官方网站复制,命令是
curl -L https://get.rvm.io | bash -s stable --autolibs=enabled [--ruby] [--rails] [--trace]
。
从中获取想法,我也想使用curl创建一个自动安装程序。这是我的安装程序脚本fetch.sh:
#!/usr/bin/env bash
# Copyright Ciel 2014
FLAG=$@
echo 'FLAG has been set to -ns '$FLAG
git clone --recursive https://github.com/imwithye/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./install.sh $FLAG
我尝试通过\curl -sSL http://dot.ciel.im | bash $FLAG
(http://dot.ciel.im指向我的fetch.sh脚本)安装我的程序。如您所见,我想将curgs命令中的args $ FLAG传递给fetch.sh脚本,但它失败了。
有谁知道如何将curl命令*** | bash $FLAG
中的args传递给安装程序脚本?
答案 0 :(得分:1)
你想要的是:
echo "$(curl -sSL http://dot.ciel.im)" | bash -s FLAG1 FLAG2 etc
带引号的echo
对于不被解释为单行非常重要。然后,bash -s
允许您向正在执行的脚本bash
添加参数。
您还可以添加-x
进行调试,查看调用的命令以及使用哪些参数。
echo "$(curl -sSL http://dot.ciel.im)" | bash -x -s FLAG1 FLAG2 etc