将命令输出写入日志文件

时间:2019-06-17 15:35:33

标签: shell ksh

我在“环境”文件中具有一些功能,可以输出以下脚本的日期和命令输出:

LogWrite ()
{
    print `date "+%Y%m%d %H%M%S"` ${1} >> $FILE_LOG
}

我有一个脚本,该脚本可加载环境文件并制作命令的ps。我将命令的输出分配给变量,然后将输出写入$FILE_LOG中。我这样做:

list="$(ps -eo pid,lstart,cmd | grep -i crack  | grep -v grep)"
...........
LogWrite $list

它总是只显示ps的第一个字段(例如234324)。

1 个答案:

答案 0 :(得分:0)

LogWrite仅打印其第一个参数。一种可能的解决方法:

LogWrite() {
    printf "%s: " "$(date '+%Y%m%d %H%M%S')"
    echo "${@}"
} >> $FILE_LOG

另一种可能性是将列表放在第一个参数中,只需在调用LogWrite时正确引用该参数即可实现:

LogWrite "$list"