123

Run Settings
LanguageC
Language Version
Run Command
Напишіть скрипт, який працючи у фоні кожні 10 секунд підраховує кількість файлів та каталогів у поточному каталозі. Якщо ця кількість перевищить значення, вказане як параметр запуску скрипта, скрипт має завершити роботу, вивівши цю кількість. #!/bin/sh # Перевіряємо, чи передано параметр if [ $# -ne 1 ]; then echo "Використання: $0 <максимальна_кількість_файлів_та_каталогів>" exit 1 fi max_count=$1 while true; do # Підраховуємо кількість файлів та каталогів (включаючи приховані, виключаючи . та ..) count=$(ls -A | wc -l) # Перевіряємо, чи перевищено максимальну кількість if [ "$count" -gt "$max_count" ]; then echo "$count" exit 0 fi # Чекаємо 10 секунд sleep 10 done
Напишіть скрипт, який виводить список користувачів, що мають файли в /tmp, відсортований за кількістю файлів. Якщо вказаний користувач має більше 10 файлів, скрипт має надіслати попередження користувачеві за допомогою команди mail(1). Напишіть скрипт, який виводить список користувачів, що мають файли в /tmp, відсортований за кількістю файлів. Якщо вказаний користувач має більше 10 файлів, скрипт має надіслати попередження користувачеві за допомогою команди mail(1). #!/bin/sh # Альтернатива через ls (менш рекомендовано, але працює) ls -l /tmp | grep '^-' | awk '{print $3}' | \ sort | \ uniq -c | \ sort -nr | \ while read count user; do if [ "$count" -gt 10 ]; then echo "$user: $count файлів" if mail -v 2>/dev/null <<EOF; then Subject: Попередження: забагато файлів у /tmp From: root To: $user Вітаю, $user! Ви маєте $count файлів у /tmp. Будь ласка, звільніть місце, видаливши непотрібні файли. -- Системний адміністратор EOF echo " Попередження надіслано $user" else echo " Не вдалося надіслати листа $user" fi fi done
Editor Settings
Theme
Key bindings
Full width
Lines