Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在shell脚本中创建服务器?_Linux_Bash_Shell_Command Line_Scripting - Fatal编程技术网

Linux 如何在shell脚本中创建服务器?

Linux 如何在shell脚本中创建服务器?,linux,bash,shell,command-line,scripting,Linux,Bash,Shell,Command Line,Scripting,如何创建一个服务器脚本来知道文件夹中是否存在文件?如果它检测到上述文件夹中存在文件,它将创建一个清单文件,详细信息如下,然后压缩该文件(不包括清单文件)。该脚本将在特定时间执行,并将及时执行上述操作 详情如下: 清单文件格式 文件扩展名:。清单 清单内容:文件名|文件大小|记录计数| createddate | lastmodified | md5| 其中: Filename=文件名 Filesize=文件大小(以字节大小为单位,不带逗号)(例如,应为34KB 写为34000,而不是340

如何创建一个服务器脚本来知道文件夹中是否存在文件?如果它检测到上述文件夹中存在文件,它将创建一个清单文件,详细信息如下,然后压缩该文件(不包括清单文件)。该脚本将在特定时间执行,并将及时执行上述操作

详情如下:

清单文件格式

  • 文件扩展名:。清单

  • 清单内容:文件名|文件大小|记录计数| createddate | lastmodified | md5|

其中:

  • Filename=文件名

  • Filesize=文件大小(以字节大小为单位,不带逗号)(例如,应为34KB 写为34000,而不是34000)

  • 记录计数=不带逗号的记录计数

  • Createddate=yyyymmddhh24miss

  • Lastmodified=yyyyymmddhh24miss

  • md5=在linux中使用md5sum获取md5值

每个文件传输/批处理一(1)份清单文件。

  • 可以将多个文件归档到一(1)个文件中,不包括 清单文件
我们将非常感谢您的帮助。谢谢

编辑:

这就是我到目前为止所做的:

#!/bin/bash
clear
echo "Filename: "
read filename
if
    ls -l $filename
then
    echo "File found!"
    manifest=$""batch_"$(date +%Y%m%d)."manifest""
    du -b $filename | awk '{printf "| " $2 " | "}' >> "$manifest"
    du -b $filename | awk '{printf $1 " | "}' >> "$manifest"
    wc -l $filename | awk '{printf $1 " | "}' >> "$manifest"
    md5sum $filename | awk '{printf $1 " |"}' >> "$manifest"
    zip -r "batch_"$(date +%Y%m%d%H%M%S).".zip" $filename
fi
echo "Done." 

下面是一个用Bash编写的简单web服务器

#!/usr/bin/env bash
RESPONSE="HTTP/1.1 200 OK\r\nConnection: keep-alive\r\n\r\n${2:-"OK"}\r\n"
while { echo -en "$RESPONSE"; } | nc -l "${1:-8080}"; do
echo "================================================"
done

中,请编辑此问题,使其包含一些代码块或引号,以便于阅读。我已经编辑了这篇文章。当您不断重复相同的代码时,这将是维护的噩梦-如果您要执行多次操作,请将其放入变量中,例如,
OUT=$(日期+'batch_%Y%m%d%H%m%s.manifest')
然后执行
echo>“$OUT”
。如何优化我的shell脚本?还有,我如何才能在一个清单中放置多个属性?