非交互模式下的curl

非交互模式下的curl

我正在尝试自动化一些东西,包括通过安装 Rust

curl https://sh.rustup.rs -sSf | sh . 

这是交互式的,并查询用户输入以从“1”、“2”或“3”中进行选择。

我无法弄清楚如何自动输入值。

例如apt-get,有一个-y选项尝试捕获并输入提示。

不确定,它是如何完成的curl

答案1

检查脚本文件,您可以使用以下-y选项:

% sh <(curl https://sh.rustup.rs -sSf) -h
rustup-init 1.18.3 (302899482 2019-05-22)
The installer for rustup

USAGE:
    rustup-init [FLAGS] [OPTIONS]

FLAGS:
    -v, --verbose           Enable verbose output
    -y                      Disable confirmation prompt.
        --no-modify-path    Don't configure the PATH environment variable
    -h, --help              Prints help information
    -V, --version           Prints version information

OPTIONS:
        --default-host <default-host>              Choose a default host triple
        --default-toolchain <default-toolchain>    Choose a default toolchain to install
        --default-toolchain none                   Do not install any toolchains

-y在该管道中添加作为参数,请使用sh's -s选项:

curl https://sh.rustup.rs -sSf | sh -s -- -y

-s告诉sh从输入读取命令,并将--剩余的参数传递给脚本(从输入读取),因此-y设置为脚本的参数。

或者,如果您有 bash,请使用进程替换:

sh <(curl https://sh.rustup.rs -sSf) -y

相关内容