TGViewer
Системный Администратор Системный Администратор @sys_adminos · 1.57K subscribers
Post #735 418
Примеры типовых операций в bash-скриптах

Арифметические действия, циклы по кол-ву раз

#!/bin/bash
A="10"
B="5"
C=`expr $A + $B`
printf "A=10 B=5 C=expr \$A + \$B C=%d \n" "$C"

# пример цикла по i
I=0
while [ $I -lt 15 ]
do
printf "0x%02x " "$I"
I=`expr $I + 1`
done
echo



Разного рода проверки

#!/bin/bash
# пример проверки существования файла
# создаем файл test1
touch test1
# проверяем существование файла test1
if [ -f test1 ] ; then
echo "файл test1 существует"
fi
# проверяем несуществование файла test2
if ! [ -f test2 ] ; then
echo "файл test2 не существует"
fi
# краткая справка по другим опциям команды [ ]
# -d filename директория существует
# -f filename файл существует
# -L filename символьная ссылка существует
# -r, -w, -x файл доступен для чтения, записи или выполнения
# -s filename файл существует и имеет ненулевую длину
# f1 -nt f2 f1 новее чем f2
# f1 -ot f2 f1 старше чем f2



Работа с FTP

#!/bin/bash
ADDRESS=192.168.1.150
USER=root
PASSWORD=root
ftp -n -p ADDRESS <<EoF
user USER PASSWORD
cd /usr/bin
put my_cool_program
quit
EoF
exit 0



Работа с telnet

#!/bin/bash
(
sleep 1
echo "root"
echo "cd /tmp"
echo "ls"
sleep 1
echo "quit"
) | telnet 192.168.1.150

Примечание: в этом случае root логинится без пароля, если нужен пароль, то надо добавить после echo "root" еще одно эхо с паролем.

Пример цикла по множеству значений

#!/bin/bash
# пример цикла по множеству значений
for A in раз два три четыре пять
do
echo "$A,"
done
echo "вышел заяц погулять"
echo


Не забываем, что для того, чтоб скрипт можно было запустить, надо изменить права доступа к нему, добавив возможность исполнения файла, например командой

chmod a+x script.sh

👉 @sys_adminos
  • 👍 3
More from @sys_adminos
  1. Sep 14, 2026Libtree Утилита, позволяющая получить список разделяемых библиотек (shared libraries) в ви…
  2. Sep 7, 2026Как работает интернет Если вы полный ноль в интернет-технологиях, и хотите получить общее…
  3. Sep 1, 2026Это одна из моих любимых команд Cisco, которая сэкономила мне столько времени. Вы можете у…
  4. Aug 27, 2026Собираем бюджетный домашний NAS на 14 ТБ Начав заниматься фотографией, я быстро ощутил нех…
  5. Aug 17, 2026Объединение файлов командой cat Команду cat в большинстве случаев используют только для пр…
  6. Aug 10, 2026Как перенести виртуальную машину с Hyper-V на ProxmoxVE 00:00 - Вступление 00:49 - Зачем н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →