我想记录用户执行的脚本的全名,包括他提供给该脚本的选项/参数。
我能够使用basename
and取得一些成功,whoami
但它没有给我论据。
例子:让我们假设用户运行这样的脚本
root@host1:./collect_user_summary.ksh -h 20 -l 10 -x local
我的日志文件中所需的输出:
"collect_user_summary.ksh -h 20 -l 10 -x local"
我所取得的成就:与basename
并且whoami
我能够得到
"collect_user_summary.ksh username"
我的环境:Solaris 10,kornshell。
答案1
更新:我看到你们大多数人都指示我记录终端中输入的所有命令。我不想那样。我想做的就是每当有人执行我的脚本时,我只需要记录他提供的选项以及脚本名称。
经过一段时间的思考,我终于明白了。我正在使用以下方法来实现它。 示例脚本:
#!/bin/ksh
NAME=`basename $0`
echo `date` $WHOAMI ran this script $NAME with options -h $HVARIABLE -l $LVARIABLE -x $LOCALVARIABLE >> scripts.log
.
..
..
....
echo "SUCCESS" >> scripts.log
exit 0
通过在我的所有脚本中包含这两行,我能够记录谁在做什么以及他们提供了什么选项。