User Tools

Site Tools


средства_программирования_shell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
средства_программирования_shell [2022/06/30 14:25]
val [Web сервер на shell]
средства_программирования_shell [2022/09/23 14:07]
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 386: Line 388:
  
 read request read request
 +#echo $request >> $log
  
 while : while :
 do do
-  read header+  read -r header 
 +#  echo $header >> $log
   [ "​$header"​ == $'​\r'​ ] && break;   [ "​$header"​ == $'​\r'​ ] && break;
 done done
Line 402: Line 406:
 if [ -e "​$filename"​ ] if [ -e "​$filename"​ ]
 then then
-  echo `date` OK $filename ​>> $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 `dateERR $filename ​>> $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=$(awk '/32 host/ { print f } {f=$2}'​ /​proc/​net/​fib_trie | 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 444:
 </​code>​ </​code>​
  
 +  * [[Сервис INETD]]
 ==== Проверка ==== ==== Проверка ====
  
средства_программирования_shell.txt · Last modified: 2024/04/11 12:41 by val