006_设置执行命令提示和unset shell function
一、unset不能unset只读变量
问题:
1 2 3 4 5 6 7 8 | [root@zb1-bdwaimai-inf-wfe-28 ~]# source ~/.bash_profile bash: PROMPT_COMMAND: readonly variable [root@zb1-bdwaimai-inf-wfe-28 ~]# tail ~/.bash_profile PATH=$PATH:$HOME/bin export PATH hhhh=`pwd` [root@ ~]# echo $hhhh #从这个输出看是不影响source命令执行的,但是不知道在哪设置的PROMPT_COMMAND为只读变量,declare -r 变量是可以设置为只读变量,declare -x可以设置为可以执行的 /root |
1 2 3 4 5 6 7 | [root@z ~]# unset -f PROMPT_COMMAND [root@zb1-bdwaimai-inf-wfe-28 ~]# source ~/.bash_profile bash: PROMPT_COMMAND: readonly variable [root@zb1-bdwaimai-inf-wfe-28 ~]# echo $PROMPT_COMMAND { msg=$(history 1 | { read x y; echo $y; });logger -p local0.notice "[euid=$(whoami)]" :$(who am i):[`pwd`] "$msg" ; } [root@zb1-bdwaimai-inf-wfe-28 ~]# unset -fv PROMPT_COMMAND bash: unset: cannot simultaneously unset a function and a variable |
解决方案待查
二、
同事在线上执行了"tcpdump -i eth0 tcp port 80 -XX"命令触发了以下的bug,所以提示大家正确的使用姿势应该为指定绑定网卡的接口执行抓包
1 | tcpdump 命令只有将自定设备设置为混杂模式才能抓包,在 bond 模式下不能单独设置其中一块 slave 网卡为混杂模式,否则会引起 bond 故障。这个和内核参数没有任何关系。tcpdump -i eth0 敲完回车 bond0 一定故障。 |
notice:
1 | 不是所有bond0设备都会出问题,我印象中是intel i40系列的网卡会有问题,其他网卡也有概率会出锅。 |
/root/../etc/profile.d/tcpdump.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/bash TCPDUMP_WARN=" 使用tcpdump会导致网卡进入混杂模式(promiscuous mode),在有bond设备的物理机上使用 -i eth0 或着其它 slave 设备会导致 bond 设备异常,请在执行前确认你指定的设备是否正确。 请先使用 ip a 命令查看本地设备,如果存在 bond0 或其他 bond 设备,请使用 -i bond0 参数指定抓包设备。 当你仔细查看过以上警告后,需要使用 tcpdump 命令,请使用全路径执行 /usr/sbin/tcpdump " tcpdump() { echo -ne "\033[34;31m$TCPDUMP_WARN\n\033[34;00m" } |
分类:
011-系统常识
· 从零实现富文本编辑器#3-基于Delta的线性数据结构模型
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 长文讲解 MCP 和案例实战
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
· Android编译时动态插入代码原理与实践
· 使用TypeScript开发微信小程序(云开发)-入门篇
· 没几个人需要了解的JDK知识,我却花了3天时间研究
· 在SqlSugar的开发框架中增加对低代码EAV模型(实体-属性-值)的WebAPI实现支持
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· .NET Core中的配置Configuration实战
2017-01-18 CentOS系统时间与现在时间相差8小时解决方法