From 95b0445159206763a0a7f16e0acbb26f933a7977 Mon Sep 17 00:00:00 2001 From: Rinsvent Date: Sun, 14 Aug 2022 17:10:59 +0700 Subject: [PATCH] first commit --- .gitignore | 1 + Makefile | 6 +++ framework.c | 4 ++ package/DEBIAN/control | 10 +++++ package/usr/bin/framework | Bin 0 -> 16704 bytes src/docker-compose.sh | 16 +++++++ src/docker-compose.test.sh | 11 +++++ src/io.sh | 9 ++++ src/io.test.sh | 9 ++++ src/logger.sh | 85 +++++++++++++++++++++++++++++++++++++ src/logger.test.sh | 26 ++++++++++++ src/var.sh | 16 +++++++ src/var.test.sh | 11 +++++ 13 files changed, 204 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 framework.c create mode 100644 package/DEBIAN/control create mode 100755 package/usr/bin/framework create mode 100644 src/docker-compose.sh create mode 100644 src/docker-compose.test.sh create mode 100644 src/io.sh create mode 100644 src/io.test.sh create mode 100644 src/logger.sh create mode 100644 src/logger.test.sh create mode 100644 src/var.sh create mode 100644 src/var.test.sh 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 0000000000000000000000000000000000000000..6ac9b7816de8a6fb45348efec69d269d6254fae1 GIT binary patch literal 16704 zcmeHOU2Ggz6+Y{YW2Z^hn~+c^fp{oEN@zW?gJYajCcFNfMa~b7O%l;`y!Ni`75ig$ zXNg^*5NcY*YF+YzK!8vyRRTmo2=NeJz>#T{2SCXSDypiQia^Rw>!b||Kgn{=opaVR zv+D>&ymf9g``z>1bI!eU?!DtXnR~z7JJ44X2!Ny@d zTU>#l@a6h6uF->&Y$xcnqu5+*w(TxkCpHl#XAs68BTzF}7>elpFA()FUYMeFp6)F8^ziZXV?N zR_h0Y<1fhJg}v$2XnWhb+;#f(0AgyXZvn-PQH*4A5HEQq4IMTU$$WAmRj`uzp~KzjTsAorA5D|x zL?)MIOVd`Zsz{Bh;TYH8vyT4ReMu$7?WuKC-bw-{nYS`uBAaY}f#;?0z6lGmofXddgGbe-|q!5o?5VKN>_~8U)3+FSd{jE3+bDsk9`}V zp$SNz*8Fhutv{4Xr3)lu>5o)t52$jKi%z-q@3Fb7j~jDu8nb^~J~lKkUptOVU}Jvc zJLt!l@4SRi+B%3P?_EG~1~bNdZJyx3ZEGtwO{Y9IZCz=pq3Il|!y+T<$CUp5E`mLG zjk#sx(%XlOOSgkY;1%QQU26+EsAUKBrKRzPCTyqJQ~S?#QZW=C9yVq>-_$W{%w4lK z7|(S635Dz1@IJ36@aL7<*HI3fMq8KtTW7G491Wu#Ht3}gTD^O>RJuqlJ-s-tH#B{f zvM{dV6+JO9-}&ex0MXCJ=6)9)j?LYQ4n^nwGi=N^KZ5k}fjxJqPp+Hj!?<)OXf?II z#`ilgcXMFw?VhR-0A3J(bLh#qvqoHN{!Sk>PbS?&*h#~ z4f22d2>223Bj88CkANQmKLUOP{0R6F@FU4n%sjH4sM-TW^#~R}fDkE+bw>?BI`F^bM3!;E6#9 zOoszIHq_N$z%t_L+y2r!r4qe-Lr)!jGK5`twc&Lhc?}Ul;l5DgryJIvsXqsYwjccX zCw8gNieUguCx8Imq0;w`+UJv`O*EMBLu%{vgGHxz!lrhDVsL2M9;bgwVrHG<_y zMCc2Jzg80qH9i;Y4QcahdPBRPt?dc5JiXQkbNzD4ejmsEPh z;RbQaFGm|$zRvp;x3Mhy8`V1za*p7lAJODDT z95l9meR=%3d7O<^`Xz{`D73142qIPa1~^ug50}qtxa-{nGT+@i?)=uAjGYg{2g>{L zouxtiUzL%n`diEUquu%+1bJ?_`3IrexDDb{K<2qyAD>bYCu8S>upPoxd3lPh*wFl3 z12;-5jGd$BV-0r71y4M2>xSYNJp4zPm*=hR1>lpI2{_tA^-=1>D*%;opw0SJZ~6I6 z%9v*G3gA;vp2v#BpKsz-t^KRr*Ne)}7D!NoJ*k?XpDLZL75%k{d;p)S-v0VE>wDYz zhT<#7&rRj0vVVV!H&6qW^P(R4%^060{yQbpuMv4o)#3ihD!y`@v?)JsU6T5c55u;K z@w1uqYbxi<;Z^*k*^hU8&LFQf{`JW+A`ri4n!1^)vFEi(5jw^mo8 z(;_J|p3lc;%w*Qe&%k&-o=KXCVkR?#CJxC&O{-G%OfLUF4Mq?5n!QJQOgu5- zR!)G~bLvR+aID*1qK>8@g$H)bUV}XtJ%eEO4;<}^4wy&#`i}PwnM2X8fnM^e4z!FF zimKW7JiaOftO?=ZpFpP%BdKSmPuOn(HGQppMxdsFp5jr$0XyJ?^oW-?ZM6w%7tI4QYQ7SHfZ zfu7A-Nqr())Ti>fsbt=oaZsbh6du7!C76nK#hR`71Ss{%cwrLs#7q{eu+hrfC0|VD z3#nYzC74*2Pp0E!z`3ck1-iO(9kcpG4n@iol4GD-$!Qd6sG)XFb%UOq{<}FS^e3sft)?0$IZs%g9D|y0?;^jOW zB6Oqg7RsO@NkufH3`)w9r9y1hEv6pqN-~ua3{oeck2HSVB-V)a< zC~+ct%6si!K#pP}{_&5Mofzfs60@qUk|+EQUQT#=OTpe9vPaVFf|a7dIjc z{={Q1>vKWTTh0FG9{UkC5PZrrV7&f*>9LpfzM#DKOa0#Y^D^5@|AWSwjM9J1R>c1| zSU^n_`$n;2?7=c;^49+v7CP-mG+SGc)`QL@<43q_n4vkskDc=RS|vEx*Y yu){`vFnkybb-biKGA`-=air}|`;+vC2~(ZNxzuZy(%QSaz1d-FZ1)&=MEEZSM?Y%- literal 0 HcmV?d00001 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"