Pracuję z instancjami Amazon Linux i mam kilka skryptów do wypełniania danych i instalowania wszystkich programów, z którymi pracuję, ale kilka programów pyta:
Do you want to continue [Y/n]?
i wstrzymaj instalację. Chcę automatycznie odpowiadać „Y” we wszystkich przypadkach, teraz jestem pewien, jak to zrobić.
--noprompt
lub,--noconfirm
której możesz użyć.Odpowiedzi:
Polecenie „tak” będzie powtarzać „y” (lub cokolwiek o to poprosisz) w nieskończoność. Użyj go jako:
lub, jeśli wymagane jest wielkie „Y”:
źródło
yes
ponieważ wiadomo, że maksymalne wykorzystanie procesora. stackoverflow.com/a/18164007/720665-y
w Google skryptów basha było TRUDNE./dev/null
lub STDOUT. Po przesłaniu potokiem do polecenia, zapisze tylko jedną linię do potoku za każdym razem, gdy polecenie odbierające odczyta jeden, i będzie czekać w przeciwnym razie.echo y | command
powinno działać.Ponadto niektóre instalatory mają flagę „auto-tak”. To
-y
dlaapt-get
Ubuntu.źródło
-f
(--force
), która działa jako „auto-yes” dla poleceń, które coś usuwająMożesz nie mieć możliwości zainstalowania programu Expect na serwerze docelowym. Dzieje się tak często, gdy pisze się, powiedzmy, pracę Jenkinsa.
Jeśli tak, rozważałbym odpowiedź na pytanie na askubuntu.com:
/ubuntu/338857/automatically-enter-input-in-command-line
Zauważ, że w rzadkich przypadkach polecenie nie wymaga od użytkownika naciskania klawisza Enter po znaku. w takim przypadku zostaw znaki nowej linii:
W trosce o kompletność możesz również skorzystać z dokumentu tutaj:
Lub jeśli twoja powłoka obsługuje to ciąg znaków tutaj:
Lub możesz utworzyć plik z jednym wejściem w każdym wierszu:
Ponownie, cała zasługa tej odpowiedzi należy do autora odpowiedzi na askubuntu.com , lesmana.
źródło
Chociaż może to być bardziej skomplikowane / cięższe niż chcesz, jednym z bardzo elastycznych sposobów jest użycie czegoś takiego jak Expect (lub jednej z pochodnych w innym języku programowania).
Expect to język zaprojektowany specjalnie do sterowania aplikacjami tekstowymi, co jest dokładnie tym, czego szukasz. Jeśli w końcu będziesz musiał zrobić coś bardziej skomplikowanego (na przykład z logiką, aby faktycznie zdecydować, co zrobić / odpowiedzieć dalej), oczekiwanie jest drogą do zrobienia.
źródło
Wystarczy
-y
zainstalować za pomocą polecenia instalacji.Na przykład:
yum install <package_to_install> -y
źródło
Jeśli chcesz po prostu zaakceptować wartości domyślne, możesz użyć:
źródło
bash
,sh
a większość z nich systemu, co wiem, trzeba byecho
w\n
przeciwnym razie nie byłby być odprowadzone do następnego polecenia.