好吧,我是linux新手,我在使用简单的bash脚本时遇到了问题。
我有一个程序可以在运行时添加到日志文件中。随着时间的流逝,日志文件变得越来越大。我想创建一个启动脚本,该脚本将在每次运行之前重命名并移动日志文件,从而为程序的每次运行有效地创建单独的日志文件。到目前为止,这是我得到的:
糊盒
DATE=$(date +"%Y%m%d%H%M")
mv server.log logs/$DATE.log
echo program
运行时,我看到以下内容:
: command not found
program
当我CD到logs目录并运行dir时,我看到以下内容:
201111211437\r.log\r
这是怎么回事?我假设我缺少一些语法问题,但似乎无法弄清楚。
更新:由于下面的Shellter评论,我发现问题是由于我正在Windows的Notepad
++中编辑.sh文件,然后通过ftp发送到服务器,然后通过ssh运行文件。在文件上运行dos2unix后,它可以工作。
新问题:如何首先正确地保存文件,以避免每次重新发送文件时都必须执行此修复程序?
您从脚本中发布的几行对我来说还不错。它可能更深一些。
您需要找到哪条线给您这个错误。添加set -xv
到脚本的顶部。这将打印 出行 号和正在执行到 STDERR
的命令。这将帮助您确定在脚本中哪个位置出现此特定错误。
顺便说一句,您的脚本顶部有一个shebang吗?当我看到这样的东西时,通常我希望它与Shebang有关。例如,如果您#! /bin/bash
位于顶部,但bash解释器位于中/usr/bin/bash
,则会看到此错误。
新问题:如何首先正确地保存文件,以避免每次重新发送文件时都必须执行此修复程序?
两种方式:
问题内容: 我正在尝试在bash脚本的文本文件中间添加一行文本。具体来说,我正在尝试将名称服务器添加到我的/etc/resolv.conf文件中。就目前而言,resolv.conf看起来像这样: 我的目标是在所有其他名称服务器行的上方,但在其上方的任何文本下方。最后,我希望我的resolve.conf文件看起来像这样: 通过bash脚本怎么可能?sed或awk可以执行此操作吗?还是创造性地尝试重新
目前,我的Spring-boot应用程序日志到一个名为:的文件,这是按预期工作,但是我希望日志文件在其末尾有一个,并在每次运行时创建一个新文件。 我尝试在<code>logback测试中实现这一点。xml文件如下所示,但它只是给出了文件名:myLog。没有时间戳的日志。 我该如何解决这个问题? 日志回测.xml:
我正尝试从FFMPEG向输出文件添加时间戳,但出现此错误。 我犯错的地方? 感谢所有回复:)
我尝试使用封装签名和javax.xml.crypto.dsig对xml文件进行签名。*班级。结果,我得到了具有正确签名内容但未定义名称空间的文件。如何添加xmlns:ds=”http://www.w3.org/2000/09/xmldsig#“名称空间和相应的ds前缀?我看不到任何地方可以定义它。 示例代码: 给出了示例 XML: 但我想:
问题内容: 我将csv文件读入pandas数据框,得到以下信息: 无论是和列有100个元素。我想将Hour的相应元素添加到TDate。 我尝试了以下方法: 但是我得到了错误,因为td似乎没有将array作为参数。如何将的每个元素添加到的相应元素中。 问题答案: 我想你可以添加到列列转换有:
我试图将大量平面文件加载到一个sql表中,并向表中添加一个filename列。 在控制流中,我有两个foreech循环,抓取文件名并将它们传递给两个变量。