我是bash脚本编程的新手。
我想实现一个bash脚本deploymLog
,它接受一个字符串参数(name)作为输入
例如:
[root@localhost Desktop]# ./deploymLog.sh name
这里我想通过终端传递字符串参数。
作为初始步骤,我需要将当前时间戳和此输入字符串附加到当前目录中的日志文件Logone.txt
中,格式如下
[name]=[System time timestamp1]
答案 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]