Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
atom
V2EX  ›  Linux

curl 脚本并直接执行,如何传入参数

  •  
  •   atom · Sep 7, 2015 · 12472 views
    This topic created in 4075 days ago, the information mentioned may be changed or developed.

    如果某个脚本托管在服务器上,大家一般会酷炫地直接用管道方式来下载并执行脚本

    $ cat yourscript.sh 
    #! /bin/sh
    echo "receive params:[$@]"
    
    
    curl -fsSL "http://somewhere/yourscript.sh" | /bin/sh
    

    那么问题来了,如果这个脚本是有参数的,如何传递参数呢?
    下面这样是不行的
    curl -fsSL "http://somewhere/yourscript.sh" | /bin/sh "1"

    8 replies  •  2015-09-08 06:04:46 +08:00
    LazyZhu
    LazyZhu
    Sep 7, 2015❤️1
    1
    在这问不如自己搜索, Let me search it for:
    https://stackoverflow.com/questions/5735666/execute-bash-script-from-url
    chzyer
    chzyer
    Sep 7, 2015❤️1
    2
    echo 'echo "hello $1"' | bash -s "df"
    Ansen
    Ansen
    Sep 7, 2015 via iPhone
    3
    把 curl 放脚本里面 用$1 $2 … 传入
    ryd994
    ryd994
    Sep 7, 2015 via Android
    4
    environ
    curl -fsSL "http://somewhere/yourscript.sh" | VAR=123 /bin/sh
    另外,如果你对服务器有控制的话,也可以直接组合 get 参数。直接配置 web 服务器就行, nginx 都可以
    qingxp9
    qingxp9
    Sep 7, 2015❤️1
    5
    rvm 的安装命令是
    curl -sSL https://get.rvm.io | bash -s stable
    聪明的你推理推理就出来了
    结合 help 看一下
    atom
    atom
    OP
    Sep 8, 2015
    6
    @LazyZhu
    不是伸手党,是关键词没有兄台组织得好哇,搜 curl AND bash 返回来太多干扰项,要么教我 curl 怎么玩,要么告诉我 getopt 怎么用 -__-
    atom
    atom
    OP
    Sep 8, 2015
    7
    @ryd994
    偏门了,算是 work around 的方法,说明人很聪明 :D
    atom
    atom
    OP
    Sep 8, 2015
    8
    @qingxp9
    有看 man ,但不认真
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3787 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 05:31 · PVG 13:31 · LAX 21:31 · JFK 00:31
    ♥ Do have faith in what you're doing.