В Bash есть два механизма - фигурные скобки { } для работы с диапазонами и двойные круглые скобки (( )) для арифметики. Как их использовать эффективно?
1️⃣ Диапазоны и генерация последовательностей с { }. Фигурные скобки позволяют быстро создавать списки значений.
ℹ️ Простая генерация чисел:
echo {1..5}
1 2 3 4 5
ℹ️ Шаг в последовательности:
echo {0..10..2}
0 2 4 6 8 10
ℹ️ Генерация букв:
echo {a..e}
a b c d e
ℹ️ Использование в for-циклах:
for i in {1..3}; do
echo "Файл_$i.txt"
done
Файл_1.txt
Файл_2.txt
Файл_3.txt
ℹ️ Создание файлов за раз:
touch file_{1..3}.txt
Создаст file_1.txt, file_2.txt, file_3.txt.
2️⃣ Арифметика с (( )) - быстрее и лаконичнее. (( )) используется для работы с числами без expr или let.
ℹ️ Базовые операции:
((sum = 5 + 3))
echo $sum
8
ℹ️ Инкремент и декремент:
x=10
((x++)) # Увеличить на 1
((x--)) # Уменьшить на 1
echo $x
ℹ️ Проверка условий без if:
x=5
(( x > 3 )) && echo "x больше 3"
x больше 3
ℹ️ Битовые операции:
((x = 5 & 3)) # Побитовое И
echo $x
1
3️⃣ Сочетание { } и (( ))
ℹ️ Сумма чисел от 1 до 10 с for:
sum=0
for i in {1..10}; do
((sum += i))
done
echo "Сумма: $sum"
Сумма: 55
ℹ️ Выбор только чётных чисел:
for i in {1..10}; do
((i % 2 == 0)) && echo "$i — чётное"
done
BashTex 📱 #bash #utils