tgoop.com/linux_srv/361
Create:
Last Update:
Last Update:
Примеры типовых операций в bash-скриптах
Собрал для вас полезные кусочки Bash-кода, которые часто нужны при написании скриптов: арифметика, проверки, FTP, Telnet, циклы и т.д.
📌 Арифметика и цикл по количеству раз:
#!/bin/bash
A="10"
B="5"
C=`expr $A + $B`
printf "A=10 B=5 C=expr \$A + \$B C=%d \n" "$C"
# Цикл по числам от 0 до 14 (в 16-ричном формате)
I=0
while [ $I -lt 15 ]
do
printf "0x%02x " "$I"
I=`expr $I + 1`
done
echo
📌 Проверки файлов:
#!/bin/bash
# Создаем файл
touch test1
# Проверка существования файла
if [ -f test1 ]; then
echo "файл test1 существует"
fi
# Проверка отсутствия файла
if ! [ -f test2 ]; then
echo "файл test2 не существует"
fi
# Краткая шпаргалка:
# -d file — директория
# -f file — обычный файл
# -L file — символьная ссылка
# -r/-w/-x — права: чтение/запись/выполнение
# -s file — файл существует и не пустой
# 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
⚠️ Если требуется пароль — добавь ещё
echo "mypassword"
сразу после echo "root"
📌 Цикл по множеству значений:
#!/bin/bash
for A in раз два три четыре пять
do
echo "$A,"
done
echo "вышел заяц погулять"
Не забудь дать права на исполнение скрипта:
chmod a+x script.sh
BY Типичный Сисадмин
Share with your friend now:
tgoop.com/linux_srv/361