User Tools

Site Tools


bash

Bash

Про условные операторы https://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html

Про ввод подтверждения https://coderoad.ru/1885525/%D0%9A%D0%B0%D0%BA-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B8%D1%82%D1%8C-%D1%83-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F-%D0%BF%D0%BE%D0%B4%D1%82%D0%B2%D0%B5%D1%80%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B5-bash

Отладка:

bash -xv script.sh 2>2

Выход при первой же ошибке:

set -e

или

bash -е script.sh

Цветной вывод (https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux):

RED='\033[0;31m'
NC='\033[0m' # No Color
echo -e "I ${RED}love${NC} Stack Overflow"

Проверка на соответствие регулярному выражению. В данном случае дата из 8 цифр

if ! [[ "$VERSION_DATE" =~ ^[0-9]{8}$ ]] 
then
	echo "ERROR: The name of the rootfs archive contains an incorrect date"
	exit 1
fi

Получение имени файла по символической ссылке

[ -L $ROOTFS_ARCHIVE ] && ROOTFS_ARCHIVE=`realpath $ROOTFS_ARCHIVE`

Бесконечный цикл со счетчиком до ошибки при вызове a.out

for ((i=1;;i++)); do echo -n "$i: "; ./a.out||break;done 
bash.txt · Last modified: 2023/01/06 11:47 by mariaf