您的位置:首页 > 运维架构 > Shell

shell脚本汇总

2014-01-07 10:57 127 查看
修改主机名

#!/bin/bash
if [[ $1 == '' ]];then
echo 'please input your new hostname'
echo "Usage: $0 your_new_FQDN_hostname"
exit 1
fi
. /etc/sysconfig/network
sed -i '/HOSTNAME/d' /etc/sysconfig/network
sed -i '/127.0.0.1/d' /etc/hosts
echo "HOSTNAME=$1" >> /etc/sysconfig/network
echo -e "127.0.0.1\t$1 localhost localhost.localdomain" >> /etc/hosts
hostname $1
echo "$HOSTNAME has been changed to $1"


查询主机网卡数量和名称

cd  /etc/sysconfig/network-scripts/
ls ifcfg*


计算字符串长度可用的4种方法:

echo “$str”|awk '{print length($0)}'
expr length “$str”
echo “$str”|wc -c


但是第三种得出的值会多1,可能是把结束符也计算在内了

array 为数组

length=${#array[@]}
echo $length 可得数组个数


判断字符串为空的方法有三种:

if [ "$str" =  "" ]
if [ x"$str" = x ]
if [ -z "$str" ]


注意:都要代双引号,否则有些命令会报错,养成好习惯吧!

grep使用多个查询条件 --或

netstat -an | grep -E  "ESTABLISHED|WAIT"


也可以使用多个 -e参数可以实现或条件

netstat -an | grep -e EST -e WAIT


普通用户使用root命令 免密码

[root@bogon 桌面]# visudo

加入一行

wulei ALL=(ALL) NOPASSWD:ALL

之后就可以用sudo执行了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: