Como saber logar o nome completo do script executado pelo usuário?

2

Eu quero registrar o nome completo do script executado pelo usuário, incluindo as opções / argumentos que ele forneceu a esse script.

Consegui alcançar algum sucesso usando basename e whoami , mas isso não me traz argumentos.

Exemplo: vamos supor que o usuário execute um script como este

root@host1:./collect_user_summary.ksh -h 20 -l 10 -x local

Saída desejada no meu arquivo de log :

"collect_user_summary.ksh -h 20 -l 10 -x local"

O que consegui alcançar: com basename e whoami consegui obter

"collect_user_summary.ksh  username"

Meu ambiente : Solaris 10, kornshell.

    
por ayrton_senna 02.12.2015 / 23:42

1 resposta

0

Atualização: vejo a maioria de vocês me apontando para o registro de todos os comandos inseridos no terminal. Eu não quero isso. Tudo o que eu quero fazer é sempre que alguém executar o meu script eu só preciso registrar as opções que ele deu juntamente com o nome do script.

Depois de pensar por um tempo, consegui descobrir. Eu estou usando o seguinte método para alcançá-lo. Script de amostra:

#!/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

Ao incluir essas duas linhas em todos os meus scripts, consegui registrar quem está fazendo o que e quais opções estão fornecendo.

    
por 03.12.2015 / 00:10