curl в неинтерактивном режиме

tput setaf 1; hostname; tput sgr0

tputзапрашивает базу данных терминала для соответствующей возможности. Здесь setafдля установите цвет ANSI 1(красный ), sgr0до выберите графическое представление нет , чтобы вернуться к атрибутам по умолчанию. Вместо tput sgr0вы также можете использовать исходную паруtput op(), чтобы сбросить только цвет фона и переднего плана и оставить другие графические атрибуты (полужирным, подчеркнутым, выделенным, обратным... )отдельно.

Некоторые оболочки, такие как zsh, tcshили fish, имеют встроенную поддержку запросов к этой базе данных или сопоставления имен цветов с кодами ANSI (, такими как zshили fish), но не bash.

В zsh,используя быстрое расширение для печати имени хоста вred:

print -P '%F{red}%m%f'

(%fтолько сбрасывает цвет переднего плана)

В tcshили zshсо встроенной функцией echotcиспользуются коды termcap вместо terminfo:

echotc AF 1; hostname; echotc me

(zshимеет echotiдля кодов terminfo setab/sgr0, как современные версииtput).

В zshфлаг расширения параметра %включает расширение подсказки при расширении параметра, поэтому вы можете:

red=%F{red} normal=%f

echo ${(%)red}whatever%{(%)normal}

В zshвы также найдете colorsавтозагружаемую функцию, которую вы можете запустить, чтобы иметь помощников для написания цветных вещей:

autoload colors; colors

echo $fg[red]whatever$fg[default]
2
29.07.2019, 18:35
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:

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

-sуказывает shчитать команды из ввода, а --передает оставшиеся аргументы сценарию (, считанному из ввода ), поэтому -yустанавливается в качестве аргумента сценария.

Или, если у вас есть bash, используйте подстановку процесса:

sh <(curl https://sh.rustup.rs -sSf) -y
5
27.01.2020, 22:02

Теги

Похожие вопросы