This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
средства_программирования_shell [2022/06/30 15:11] val [Web сервер на shell] |
средства_программирования_shell [2022/09/22 11:47] val [Ресурсы Web сервера на shell] |
||
---|---|---|---|
Line 14: | Line 14: | ||
# apt install shellcheck | # apt install shellcheck | ||
- | $ shellcheck script.sh | + | $ shellcheck webd/webd |
</code> | </code> | ||
===== Переменные окружения ===== | ===== Переменные окружения ===== | ||
Line 377: | Line 377: | ||
==== Web сервер на shell ==== | ==== Web сервер на shell ==== | ||
+ | |||
+ | * [[Сервис HTTP]] | ||
<code> | <code> | ||
Line 389: | Line 391: | ||
while : | while : | ||
do | do | ||
- | read header | + | read -r header |
[ "$header" == $'\r' ] && break; | [ "$header" == $'\r' ] && break; | ||
done | done | ||
Line 404: | Line 406: | ||
echo `date` OK $url >> $log | echo `date` OK $url >> $log | ||
echo -e "HTTP/1.1 200 OK\r" | echo -e "HTTP/1.1 200 OK\r" | ||
- | echo -e "Content-Type: `/usr/bin/file -bi \"$filename\"`\r" | + | echo -e "Content-Type: $(/usr/bin/file -bi \"$filename\")\r" |
echo -e "\r" | echo -e "\r" | ||
/bin/cat "$filename" | /bin/cat "$filename" | ||
else | else | ||
- | echo `date` ERR $url >> $log | + | echo "$(date)" ERR $url >> $log |
echo -e "HTTP/1.1 404 Not Found\r" | echo -e "HTTP/1.1 404 Not Found\r" | ||
echo -e "Content-Type: text/html;\r" | echo -e "Content-Type: text/html;\r" | ||
echo -e "\r" | echo -e "\r" | ||
- | echo -e "<h1>$url Not Found in container `hostname`</h1>" | + | ip=$(cat /proc/net/fib_trie | awk '/32 host/ { print f } {f=$2}' | sort -u | grep -v 127.0.0.1) |
+ | echo -e "<h1>$url Not Found in container $(hostname) with ip $ip</h1>" | ||
+ | echo "ver 1.1" | ||
fi | fi | ||
</code> | </code> | ||
Line 438: | Line 442: | ||
</code> | </code> | ||
+ | * [[Сервис INETD]] | ||
==== Проверка ==== | ==== Проверка ==== | ||