GNU/Linux >> Znalost Linux >  >> Linux

Jak napíšu odpověď ano pro instalaci programů?

Možná nebudete mít možnost nainstalovat Expect na cílový server. To je často případ, kdy člověk píše, řekněme, Jenkinsovu úlohu.

Pokud ano, zvážil bych něco jako odpověď na následující na askubuntu.com:

https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line

printf 'y\nyes\nno\nmaybe\n' | ./script_that_needs_user_input

V některých vzácných případech příkaz nevyžaduje, aby uživatel po znaku stiskl klávesu Enter. v tom případě vynechejte nové řádky:

printf 'yyy' | ./script_that_needs_user_input

Pro úplnost můžete také použít dokument zde:

./script_that_needs_user_input << EOF
y
y
y
EOF

Nebo pokud to váš shell podporuje, řetězec zde:

./script <<< "y
y
y
"

Nebo můžete vytvořit soubor s jedním vstupem na řádek:

./script < inputfile

Opět platí, že všechna čest za tuto odpověď patří autorovi odpovědi na askubuntu.com, lesmana.


echo y | command by mělo fungovat.

Některé instalační programy mají také příznak "auto-yes". Je to -y pro apt-get na Ubuntu.


Příkaz „ano“ bude donekonečna opakovat „y“ (nebo cokoli, o co ho požádáte). Použijte jej jako:

yes | command-that-asks-for-input

nebo, pokud je vyžadováno velké 'Y':

yes Y | command-that-asks-for-input

Pokud chcete předat 'N', stále můžete použít yes :

yes N | command-that-asks-for-input

Linux
  1. Jak spustit skript??

  2. Instalace programů ze skriptu Bash?

  3. Jak spustit bash skript?

  1. Jak vytvořit skript příkazu Linux

  2. Jak povolit ochranu teploty CPU

  3. Jak grep pro unicode � ve skriptu bash

  1. Jak ladit Bash skript?

  2. Jak napsat spouštěcí skript pro Systemd?

  3. Jak rozdělit řetězec ve skriptu Bash