Използвам netcat в bash скрипт като псевдосървър, за да стартирам допълнителни bash скриптове от въведени входове. Това беше нещо като приятен страничен проект, но изглежда, че съм се забил.
По същество скриптът и кодът работят перфектно, но резултатът не се показва, докато сървърът не завърши процеса; тъй като това може да бъде 40-часов процес, не е желателно клиентът да има екран за зареждане и без подкана през цялото време.
Казано по-просто, бих искал да заредя страница на базата на съдържанието до определена точка, игнорирайки резултата от всичко, което следва. Кодът, който имам досега, е следният:
#!/bin/bash
while [ $? -eq 0 ]; do
nc -vlp 8080 -c'(
r=read
$r a b c
z=$r
while [ ${#z} -gt 2]; do
$r z
done
f=`echo $b|sed "s/[^a-z0-9_.-]//gi"`
o="HTTP/1.0 200 OK\r\n"
c="Content"
if [ -z "$f" ]; then
f="index.html"
echo "$o$c-Type: `file -ib $f`\n$c-Length: `stat -c%s $f`"
echo
cat $f
elif [ "$f"==Encrypt ]; then
echo $o
echo
echo $(bash ~/webSupport.sh currentEncrypt "$b")
bash ~/webSupport.sh pullVars "$b" &
else
echo -e "HTTP/1.0 404 Not Found\n\n404\n"
fi
)'
done
Търсих наоколо и не мога да намеря начин да го заобиколя, всяка помощ ще бъде оценена.
sleep 500000
в линията pullVars xD - person Kiradien   schedule 11.07.2013