006_設置執行命令提示和unset shell function
阿新 • • 發佈:2019-01-18
brush his 應該 function 只讀 port file 需要 com
一、unset不能unset只讀變量
問題:
[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
[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,所以提示大家正確的使用姿勢應該為指定綁定網卡的接口執行抓包
tcpdump 命令只有將自定設備設置為混雜模式才能抓包,在 bond 模式下不能單獨設置其中一塊 slave 網卡為混雜模式,否則會引起 bond 故障。這個和內核參數沒有任何關系。tcpdump -i eth0 敲完回車 bond0 一定故障。
notice:
不是所有bond0設備都會出問題,我印象中是intel i40系列的網卡會有問題,其他網卡也有概率會出鍋。
/root/../etc/profile.d/tcpdump.sh
#!/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" }
006_設置執行命令提示和unset shell function