我正在尝试自动化一些东西,包括通过安装 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