006_设置执行命令提示和unset shell function
一、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的更多相关文章
- 远程执行命令和文件分发shell脚本
deploy.conf node01,all,other,datanode,journalnode,zookeeper, node02,all,other,datanode,journalnode,z ...
- Mysq登陆后执行命令提示You must SET PASSWORD before executing this statement
mysql 安装完成后,在输入命令行时,提示:You must SET PASSWORD before executing this statement 提示必须设置密码,我想不是已经设置了密码吗? ...
- MySQL root账户密码设为“root”后执行命令提示ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
修改root账户密码为“root”后,提示ERROR 1820 (HY000): You must reset your password using ALTER USER statement bef ...
- compser 执行命令提示do not run composer as root/super !
这个是因为composer为了防止非法脚本在root下执行,解决办法随便切换到非root用户即可
- 使用sudo执行命令提示command not found
笔记: 使用源码部署nginx的时候,使用sudo nginx提示command not found,但是直接使用nginx会导致权限问题: 这种情况应该是环境变量导致的,使用 env |grep P ...
- Ansible 命令相关模块command, shell, raw, expect, script, telnet[转]
本文主要介绍Ansible的几个命令模块,包括: command - 在远程节点上执行命令 shell - 让远程主机在shell进程下执行命令 script - 将本地script传送到远程主机之后 ...
- bat 批处理脚本定时执行命令
有个需求,需要每天定时执行下某个任务,一天一次.由于工作机器环境问题,没有办法设置windows 定时任务.查找资料并完成如下脚本. 功能:每天定时执行一次任务. 复制如下脚本,到一个test.vbs ...
- jenkins执行shell命令提示找不到命令解决办法
用jenkins执行shell脚本,执行一条命令: #唤醒休眠手机 adb shell input keyevent 提示: [adb] $ /bin/sh -xe /Users/xxxxx/tool ...
- linux 执行远程linux上的shell脚本或者命令以及scp 上传文件到ftp--免密码登陆
场景:在linux A 上执行Linux B上的shell脚本和命令 步骤1.设置ssh免登陆 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P ...
随机推荐
- openstack-mitaka部署
详见我在51cto的一篇博客:http://egon09.blog.51cto.com/9161406/1839667
- L2-4 部落 (25 分)
在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈.我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同 ...
- Java面试准备之Java基础
1.Java 语言的优点 面向对象,平台无关,内存管理,安全性,多线程,Java 是解释型的 2.Java 和 C++的区别 多重继承(java接口多重,类不支持,C++支持) 自动内存管理 预处理功 ...
- Loadrunner学习资料
辅导书籍(书的价值主要在学习的人,而不在书本身) 于涌 | 精通软件性能测试与LoadRunner实战京东 点击查看 柳胜 | 性能测试从零开始京东 点击查看适合零基础的同学学习 柳胜 | LoadR ...
- First ServiceStack Service
博客1:ServiceStack Web Service 创建与调用简单示列 博客2:Hbuilder+vs2017 web api开发app 官方文档:servicestack docs 1.手动下 ...
- mybatis 配置文件全解
目录 properties settings typeAliases mappers properties mybatis配置文件中,可以像代码一样定义变量,然后在配置文件的其他地方使用,比如数据库连 ...
- ST表
ST表的原理及其实现 ST表类似树状数组,线段树这两种算法,是一种用于解决RMQ(Range Minimum/Maximum Query,即区间最值查询)问题的离线算法 与线段树相比,预处理复杂度同为 ...
- python 必学模块collections
包含的主要功能如下 查看collections 的源码我们可以看到其为我们封装了以下的数据结果供我们调用 __all__ = ['deque', 'defaultdict', 'namedtuple' ...
- 如何给CentOS 安装Vmware Tools
1.打开电脑中的VMware Workstation 软件,并启动安装了CentOS6.9系统的虚拟机 2.点击“”other”,在Username中输入root,在Password ...
- c语言提高(第二次作业)
1. 画出字符串一级指针内存四区模型 #include <stdio.h> #include <string.h> int main(void) { char buf[20]= ...