СисПрог Курсова (2). Міністерство освіти, науки, молоді І спорту україни одеський національний політехнічний університет
Скачать 1.09 Mb.
|
/sp_cwork$ ./3.shЗавдання: Використати бібліотеку Linux dialog для створення псевдографічного діалогового інтерфейсу користувача. Забезпечити отримання шляху розташування текстового файлу, необхідного для виконання завдання попереднього етапу. Забезпечити визначення значення параметру командного рядку скрипту з рішення попереднього етапу. Забезпечити перегляд каталогу зі створеними файлами. Виконання: Створюємо скрипт (2.sh) для керування керування процесом створення каталогів: #!/bin/bash #Функція для створення каталогів create_dirs(){ #Уводимо ім'я файлу за допомогою файлового діалогу inp_filename=$(dialog --stdout --title "Уведіть ім'я вхідного файлу:"/ --fselect ./ 0 0) #Перевіряємо чи введено ім'я файлу if [[ ! $? -eq 0 ]]; then dialog --msgbox "Ім'я файлу не введено." 0 0 return fi #Викликаємо попередньо створений скрипт та передаємо йому ім'я #вхідного файлу ./1.sh "$inp_filename" } #Функція для перегляду створених каталогів view_dirs(){ #Дозволити зчитуваня пробілів IFS=$'\n' #Побудова списку каталогів, які буде відображено в меню menu_dirs_list="" for dirname in $(ls -d dirs/*); do menu_dirs_list+="•\"$dirname\"\n" done #Відображення меню списку файлів dialog --title "Створені каталоги" --msgbox "$menu_dirs_list" 15 65 } #Головна функція скрипта main(){ #Нескінченний цикл while true; do #Виводимо головне меню на екран action=$(dialog --stdout --menu "Оберіть дію:" 0 0 3 \ 1 "Створення каталогів" \ 2 "Переглянути створені каталоги" \ 3 "Вихід") #Перевіряємо результат роботи команди if [[ ! $? -eq 0 ]]; then dialog --msgbox "Вибір не зроблено!" 0 0 continue fi #Виконуємо обрану команду case $action in 1) #Переходимо до створення каталогів create_dirs;; 2) #Переходимо до перегляду створених каталогів view_dirs;; 3) #Розриваємо головний цикл та виходимо зі скрипта break;; esac done; clear } #Виклик головної функції main Запускаємо наш скрипт: d_gergel@dell: |