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]
Проверяя файл скрипта, вы можете использовать опцию -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