Почему на экране отображается только одна единица?

Как можно улучшить скрипт, чтобы правильно формировались имена ПК в стиле "PC-001" от 1 до 150 в bash?
  • 3 июля 2024 г. 14:42
Ответы на вопрос 2
Это происходит, вероятно, потому что в скрипте используется форматирование вывода, которое выводит только одну единицу. 

Для улучшения скрипта можно добавить цикл, который будет перебирать числа от 1 до 150 и формировать имена ПК в стиле "PC-001", "PC-002" и т.д.:

```bash
#!/bin/bash

for i in {1..150}
do
    if [ $i -lt 10 ]; then
        pc_name="PC-00$i"
    elif [ $i -lt 100 ]; then
        pc_name="PC-0$i"
    else
        pc_name="PC-$i"
    fi
    
    echo $pc_name
done
```

Этот скрипт будет перебирать числа от 1 до 150 и формировать правильные имена ПК в стиле "PC-001", "PC-002" и т.д.
Простой цикл для последовательного вывода PC-001 - PC-150 выглядит примерно так: 
for ((i = 1; i <= 150; i++)); do
echo PC-$i
done

Если номера подаются в не отсортированном списке, то следует сначала вычислить номер: sed 's/...//'
Затем их отсортировать
Похожие вопросы