保留shell命令的执行历史
程序员文章站
2023-12-30 13:30:22
...
脚本位置放于/etc/profile.d内以*.sh命名,该脚本功能为在/tmp/.test/.lishi/内安装登录用户名建立文件夹,内部文件名为包含源IP及访问时间的文件
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
#who -u am i 2>/dev/null
#wee pts/1 2016-08-05 18:19 . 32244 (106.2.207.146)
#awk '{print $NF}’ 获取最后一个域
#(106.2.207.146)
#sed -e ’s/被替换内容/目标内容/g'
#106.2.207.146
HISTDIR=/tmp/.test/.lishi
if [ -z $USER_IP ]
#如果string为空
then
USER_IP=`hostname`
fi
if [ ! -d $HISTDIR ]
#如果目录为空
then
mkdir -p $HISTDIR
chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ]
then
mkdir $HISTDIR/${LOGNAME}
chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=1000
DT=`date +%Y%m%d_%H%M%S`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.lishi.$DT"
export HISTTIMEFORMAT=”[%Y%m%d_%H%M%S]”
chmod 600 $HISTDIR/${LOGNAME}/*.lishi* 2>/dev/null