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
средства_программирования_shell [2022/07/02 20:34]
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 404: Line 408:
   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 `dateERR $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"​
-  ip=`awk '/32 host/ { print f } {f=$2}' ​<<<​ "​$(<​/​proc/​net/​fib_trie)" ​| sort -u | grep -v 127.0.0.1` +  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 ​`hostnamewith ip $ip</​h1>"​+  echo -e "<​h1>​$url Not Found in container ​$(hostnamewith ip $ip</​h1>​
 +  echo "ver 1.1"
 fi fi
 </​code>​ </​code>​
Line 439: Line 444:
 </​code>​ </​code>​
  
 +  * [[Сервис INETD]]
 ==== Проверка ==== ==== Проверка ====
  
средства_программирования_shell.txt · Last modified: 2022/09/23 14:07 by val