Bash脚本编程,用于通过终端和时间输入文本到日志文件

时间:2012-02-21 04:12:59

标签: bash shell logging scripting

我是bash脚本编程的新手。

我想实现一个bash脚本deploymLog,它接受​​一个字符串参数(name)作为输入

例如:

 [root@localhost Desktop]# ./deploymLog.sh name

这里我想通过终端传递字符串参数。

作为初始步骤,我需要将当前时间戳和此输入字符串附加到当前目录中的日志文件Logone.txt中,格式如下

[name]=[System time timestamp1]

2 个答案:

答案 0 :(得分:2)

我不确定,我明白你想要什么。

    #!/bin/bash

    LOGFILE="Logone.txt"

    if [ $# -eq 0 ];then
      echo "Failed, please enter a name" >&2
      exit 1
    fi

    if  [ $# -gt 1 ];then
      echo "Too much arguments" >&2
      exit 1
    fi

    echo "$1=`date +%s`" >> $LOGFILE

这个小脚本将名称和系统时间戳添加到名为Logone.txt的文件中。

例如:

$ ./deploymLog Marcel
$ ./deploymLog Jean
$ ./deploymLog Picsou
$ cat Logone.txt
Marcel=1329798949
Jean=1329798956
Picsou=1329798963

编辑:此脚本适用于Unix bash,而非批处理,我认为您希望在Windows批处理下,将 bash 更改为批处理在你的描述中避免混淆,抱歉我无法帮助你,我对批处理一无所知。

答案 1 :(得分:0)

#!/bin/sh

# Check that exactly one argument was given
test $# = 1 || { echo usage: $(basename $0) name; exit 1; } >&2

exec >> Logone.txt                    # redirect output to log file
printf "[%s]=[%s]\n" "$1" "$(date)"   # print [name]=[timestamp]