Більшість скриптів\програм на bash виконуютьс тихо без повідомлень прогресу. Але іноді при виконанні скрипта потрібно бачити прогрес його виконання. В bash існує кілька способів взаємодії які представлені нижче.
Найпростіший спосіб це, звичайно ж, вивід тексту через команду echo.
echo "Описи дії"
Зазвичай такий спосіб використовують для повідомлення етапу виконання скрипта (початку або завершення виконання). Просто пропишіть команду з текстом до або після потрібної команди і при виконанні скрипта ви будете бачити ці повідомлення.
ОК при успішному виконанні команди.
При виконанні встановлення програми або виконанні інших скриптів можна помітити що виконання деяких етапів відображаються висновком повідомлень ОК\fail. Для цього спочатку потрібно задати колір:
COLOR_SUCCESS = "echo -en \\ 033 [1; 32m" COLOR_FAILURE = "echo -en \\ 033 [1; 31m" COLOR_NORMAL = "echo -en \\ 033 [0; 39m"
І після необхідної Вам команди, або набору команд, потрібно прописати код який буде відображена ОК\fail в залежності успішного виконання команди:
if [$? -eq 0]; then $ COLOR_SUCCESS echo -n "[command] $ (tput hpa $ (tput cols)) $ (tput cub 6) [OK]" $ COLOR_NORMAL echo else $ COLOR_FAILURE echo -n "[command] $ (tput hpa $ (tput cols)) $ (tput cub 6) [fail] " $ COLOR_NORMAL echo fi
Ввести yes \ no для продовження виконання
Такий спосіб спостерігається при встановленні програмного забезпечення з консолі. Щоб задіяти цей спосіб в своєму скрипті, можна використовувати такий код:
echo -n "Для продовження напишіть [Yes] або [No] в натисніть Enter:" read item case "$ item" in YES | yes | Yes | yEs | yeS | YEs | YeS | yES) echo "Ви ввели« Yes » , продовжуємо ... " ;; No | no | nO) echo "Ви ввели« No », зупинка роботи скрипта!" exit 0 ;; *) Echo "Ви нічого не ввели. Виполняеться дію за замовчуванням." ;; esac
Код потрібно вставити перед необхідною командою. Якщо користувач нічого не введе, а просто натисне Enter – скрипт буде виконуватися далі.
Задіяти вводяться дані
Іноді існує необхідність використовувати при виконанню скрипта\програми дані, які вводить користувач. Як приклад, можна використовувати такий метод:
que = '' while [ "$ que" = ""]; do echo -n "Введіть дані які будуть використані в програмі:" read que if [-n "$ que"]; then echo "Ви ввели $ que" fi done
Де,
echo “Ви ввели $ que» – приклад команди, де буде використано дані, які ввів користувач.