commit 95b0445159206763a0a7f16e0acbb26f933a7977 Author: Rinsvent Date: Sun Aug 14 17:10:59 2022 +0700 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c795b05 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1ca28cf --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +compile: + gcc ./framework.c -o ./build/framework + +build: + dpkg-deb --build ./package + diff --git a/framework.c b/framework.c new file mode 100644 index 0000000..a874038 --- /dev/null +++ b/framework.c @@ -0,0 +1,4 @@ +#include +int main(){ + printf("Hello from losst.ru\n"); +} \ No newline at end of file diff --git a/package/DEBIAN/control b/package/DEBIAN/control new file mode 100644 index 0000000..f888496 --- /dev/null +++ b/package/DEBIAN/control @@ -0,0 +1,10 @@ +Package: framework +Version: 1.0 +Section: unknown +Priority: optional +Depends: libc6 +Architecture: amd64 +Essential: no +Installed-Size: 20 +Maintainer: Rinsvent +Description: Include prepared bash functions diff --git a/package/usr/bin/framework b/package/usr/bin/framework new file mode 100755 index 0000000..6ac9b78 Binary files /dev/null and b/package/usr/bin/framework differ diff --git a/src/docker-compose.sh b/src/docker-compose.sh new file mode 100644 index 0000000..16630ae --- /dev/null +++ b/src/docker-compose.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +getEnv() { + VAR_NAME=$1 + VAR_VALUE=${!VAR_NAME} + if [ -z $VAR_VALUE ] + then + if [ $# -eq 2 ] + then + VAR_VALUE=$2 + else + VAR_VALUE=NULL + fi + fi + RETURN=$VAR_VALUE +} \ No newline at end of file diff --git a/src/docker-compose.test.sh b/src/docker-compose.test.sh new file mode 100644 index 0000000..14b6a24 --- /dev/null +++ b/src/docker-compose.test.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +TEMP=5234 +. ./env.sh + +getEnv TEMP false +echo "RESULT $RETURN" +getEnv TEMP2 false +echo "RESULT $RETURN" +getEnv TEMP2 +echo "RESULT $RETURN" \ No newline at end of file diff --git a/src/io.sh b/src/io.sh new file mode 100644 index 0000000..e37e945 --- /dev/null +++ b/src/io.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +filePutContent() { + local FILE_PATH=$1 + DIRECTORY_PATH=$(dirname $FILE_PATH) + mkdir -p $DIRECTORY_PATH + touch $FILE_PATH + echo $2 >> $FILE_PATH +} diff --git a/src/io.test.sh b/src/io.test.sh new file mode 100644 index 0000000..025aa63 --- /dev/null +++ b/src/io.test.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +. ./io.sh + +filePutContent ./temp.txt "Content was added successfuly1" +filePutContent ./temp.txt "Content was added successfuly2" + +cat ./temp.txt +unlink ./temp.txt \ No newline at end of file diff --git a/src/logger.sh b/src/logger.sh new file mode 100644 index 0000000..2487355 --- /dev/null +++ b/src/logger.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +. ./var.sh +. ./io.sh + +# logger levels +# error = 1 +# warning = 2 +# info = 3 +# debug = 9 + +getVar LOGGER_LEVEL 1 +LOGGER_LEVEL=$RETURN + +getVar LOG_PATH '' +LOG_PATH=$RETURN + +ENDCOLOR="\e[0m" + +function getLogPath() { + getVar LOG_PATH '' + local LOCAL_LOG_PATH=$RETURN + + local YEAR + YEAR=$(date +%Y) + LOCAL_LOG_PATH=$(echo "$LOCAL_LOG_PATH" | sed -r "s/%Y/$YEAR/g") + + local MONTH + MONTH=$(date +%m) + LOCAL_LOG_PATH=$(echo "$LOCAL_LOG_PATH" | sed -r "s/%m/$MONTH/g") + + local DAY + DAY=$(date +%d) + LOCAL_LOG_PATH=$(echo "$LOCAL_LOG_PATH" | sed -r "s/%d/$DAY/g") + + local HOUR + HOUR=$(date +%H) + LOCAL_LOG_PATH=$(echo "$LOCAL_LOG_PATH" | sed -r "s/%H/$HOUR/g") + + local MINUTE + MINUTE=$(date +%M) + LOCAL_LOG_PATH=$(echo "$LOCAL_LOG_PATH" | sed -r "s/%i/$MINUTE/g") + + RETURN=$LOCAL_LOG_PATH +} + +function writeFileLog() { + getLogPath + local LOG_PATH=$RETURN + if [[ -n $LOG_PATH ]] + then + filePutContent "$LOG_PATH" "$(date "+%Y.%m.%d %H:%I:%S") [$2] $1" + fi +} + +function error() +{ + echo -e "\e[0m\E[41m\n!\n! [ERROR] $1\n!$ENDCOLOR" >&2 + writeFileLog "$1" "ERROR" + exit 1 +} + +function warning() +{ + if [ "$LOGGER_LEVEL" -gt 1 ]; then + echo -e "\e[0m\E[43m\n!\n! [WARNING] $1\n!$ENDCOLOR" >&2 + writeFileLog "$1" "WARNING" + fi +} + +function info +{ + if [ "$LOGGER_LEVEL" -gt 2 ]; then + echo -e "\e[0m\E[102m\n!\n! [INFO] $1\n!$ENDCOLOR" >&2 + writeFileLog "$1" "INFO" + fi +} + +function debug +{ + if [ "$LOGGER_LEVEL" -gt 8 ]; then + echo -e "\e[0m\E[44m\n!\n! [DEBUG] $1\n!$ENDCOLOR" >&2 + writeFileLog "$1" "DEBUG" + fi +} \ No newline at end of file diff --git a/src/logger.test.sh b/src/logger.test.sh new file mode 100644 index 0000000..b2ef6c3 --- /dev/null +++ b/src/logger.test.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +LOG_PATH=./log%Y%m%d_%H%i +. ./logger.sh + +CURRENT_LOG_PATH=./log$(date +%Y%m%d_%H%M) + +debug '23542' + +LOGGER_LEVEL=9 +info '!!! info !!!' +warning '!!! warning !!!' +debug '!!! debug !!!' + +echo -e "\nsadf" +cat "$CURRENT_LOG_PATH" + +error '!!! error !!!' & + +sleep 1 +unlink "$CURRENT_LOG_PATH" +LOG_PATH="" + +error '!!! error2 !!!' + +debug '!!! debug2 !!!' \ No newline at end of file diff --git a/src/var.sh b/src/var.sh new file mode 100644 index 0000000..4b5e5a6 --- /dev/null +++ b/src/var.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +getVar() { + VAR_NAME=$1 + VAR_VALUE=${!VAR_NAME} + if [ -z $VAR_VALUE ] + then + if [ $# -eq 2 ] + then + VAR_VALUE=$2 + else + VAR_VALUE=NULL + fi + fi + RETURN=$VAR_VALUE +} \ No newline at end of file diff --git a/src/var.test.sh b/src/var.test.sh new file mode 100644 index 0000000..77c19b6 --- /dev/null +++ b/src/var.test.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +TEMP=5234 +. ./var.sh + +getVar TEMP false +echo "RESULT $RETURN" +getVar TEMP2 false +echo "RESULT $RETURN" +getVar TEMP2 +echo "RESULT $RETURN"