-
Notifications
You must be signed in to change notification settings - Fork 0
/
greeting_table.sh
executable file
·53 lines (45 loc) · 1.29 KB
/
greeting_table.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
echo -e '\n'
print_label(){
# Отрисовываем строку с текстом в центре квадрата
echo -n "|"
local text_length=${#text}
local padding=$(( (width - text_length) / 2 ))
for ((i = 0; i < padding; i++)); do
echo -n " "
done
echo -n "$text"
for ((i = padding + text_length; i < width - 2; i++)); do
echo -n " "
done
echo "|"
}
draw_square() {
local width=50 # Ширина квадрата
local height=10 # Высота квадрата
local text="Лабораторная работа #1" # Текст для вывода в центре квадрата
# Отрисовываем верхнюю горизонтальную линию
for ((i = 0; i < width; i++)); do
echo -n "-"
done
echo ""
# Отрисовываем боковые линии и пустое пространство внутри
for ((j = 0; j < height; j++)); do
if [[ $j -eq $(( (height - 2) / 2 )) ]]; then
print_label
continue
fi
echo -n "|"
for ((i = 0; i < width - 2; i++)); do
echo -n " "
done
echo "|"
done
# Отрисовываем нижнюю горизонтальную линию
for ((i = 0; i < width; i++)); do
echo -n "-"
done
echo ""
}
draw_square
echo -e '\n'