谁有批量修改用户密码脚本?
#根据批量添加用户名改的。
#
#echo 'dongnan' | passwd --stdin dn
#Changing password for user dn.
#passwd: all authentication tokens updated successfully.
##################
#!/bin/bash
#add user for this host
#20120604 by dongnan
#variables
ip=10.0.0.
hosts='201 202 203 204 205'
user='dongnan'
pw='dongnan'
for host in $hosts;do
echo "${ip}$host"
ssh ${ip}$host "echo $pw | passwd --stdin $user"
done
请教怎么样得到 ,只有一个IP的字符串 ?
/sbin/ifconfig eth0 | grep Bcast | sed -e 's/^.* addr:\(.*\) Bcast.*$/\1/'
我想实现 输入一个IP 跟机器上面的IP对照 是否存在 ?
#!/bin/bash
#read
#variables
ip=`/sbin/ifconfig eth0 | grep Bcast | sed -e 's/^.* addr:\(.*\) Bcast.*$/\1/'`
#main
read var;
if [ "$var" = "$ip" ];then
echo "ok"
else
echo "no"
fi
read命令是一个内置命令,用于从终端或文件读取输入(参见表14-1)。read命令读取一个输入行,直至遇到换行符。行尾的换行符在读入时将被转换成一个空 字符。如果read命令后未跟变量名,读入的行将被赋给内置变量REPLY。也可以用read命令来中断程序的运行,直至用户输入一个回车键。要知道如何 有效地使用read命令从文件读取输入行,请参见14.6节的“循环控制命令”。如果带-r选项,read命令将忽略反斜杠/换行符对,而把反斜杠作为行 的一部分。read命令有4个控制选项:-a,-e,-p,-r②。 表14-1 read命令 格式 含义 read answer 从标准输入读取一行并赋值给变量answer read first last 从标准输入读取一行,直至遇到第一个空白符或换行符。把用户键入的第一个词存到变量first中,把该行的剩余部分保存到变量last中 read 标准输入读取一行并赋值给内置变量REPLY read –a arrayname 读入一组词,依次赋值给数组arrayname③ read -e 在交互式shell命令行中启用编辑器。例如,如果编辑器是vi,则可以在输入行时使用vi命令③ read –p prompt 打印提示符,等待输入,并将输入赋值给REPLY变量③ read –r line 允许输入包含反斜杠③
#update 20130216 vps web 程序备份
cat sh/www_bak.sh
#!/bin/bash
#backup www data
#20111012 by dongnan
#variables
bak_dir=/data/
www_dir=/var/www/html/
www_name=wd
l_time=`date +'%Y-%m-%d %H:%M:%S'`
now_time=`date +'%Y-%m-%d'`
expires_time=`date +"%Y%m%d" --date='7 days ago'`
log=/root/sh/log/www_bak.err
date_dir=$(date +'%Y%m%d')
tar=/bin/tar
#delete old file (7days)
find "$bak_dir" -name "${expires_time}" -type d | xargs rm -rf
#date dir
test -e ${bak_dir}${date_dir} || mkdir -p ${bak_dir}${date_dir}
#backup and gzip database.sql
$tar czfP ${bak_dir}${date_dir}/${now_time}-${www_name}.tar.gz -C $www_dir $www_name || echo "$l_time $database backup error!!" >> $log