EOF,END Of File的缩写,自定义终止符,在Shell脚本非常常见的语法格式。
一般情况EOF会与重定向符号组合使用,如:<< EOF 接下来的内容为标准输入。
EOF配合几中重定向符号可以实现众多功能,如写入文件、追加写入、执行命令等。
# 开始
<<EOF
# 中间的命令
# 结束
EOF
修改密码脚本主要用于解决密码过期问题,将密码修改为当前密码即可再次生效。
脚本正文,根据命令中传入的数据进行密码修改。
脚本利用了 EOF+<<标准输入 实现自动输入新密码实现密码修改。
#!/bin/bash
#filename: resetPwd.sh
#Author: mebugs
#Get Name And PassWord From Script
user=$1
pswd=$2
# EOF内输入的是密码,实际相当于手工执行密码修改操作。
passwd ${user} << EOF
${pswd}
${pswd}
EOF
echo "OK"
exit
sh resetPwd.sh test mebugs123
#修改密码
#root用户修改自己的密码,不需要携带用户名
passwd [NAME]
#查询用户密码的有效期
chage -l [NAME]
#修改密码过期时间
#密码到期的日期,过了这天,此账号将不可用。0表示马上过期,-1表示永不过期
chage -E -1 [NAME]
#密码可以更改的最小天数,设置9999永不需要修改
chage -m 9999 用户名
#密码保持有效的最大天数。设置9999意味着永远有效
chage -M 9999 用户名
一键修改密码可以使用这种形式。
如果密码同时含有单引号和双引号,那么则无法通过这种方法修改。
可以通过history命令看到修改记录。
echo new_passwd@000 | passwd --stdin root
该脚本的主要作用用于大批量维护环境时采用远程投放脚本来实现批量修改密码。
当前还没有观点发布,欢迎您留下足迹!
Linux系统一般情况下启动默认只加载系统盘,支持其他磁盘自由热插拔,如果发现自己的某些目录找不见了的时候不要慌看看是不是没有设置开机启动自动加载挂载磁盘内容,另外要特别注意首次安装系统记得磁盘挂载操作
Linux服务器测试环境或正式生产环境常常设计一些定时例行处理的操作,如日记备份转移清理等,利用Crontab+Shell脚本组合实现定期定时操作,确保不会应工作繁忙忘记任务导致环境异常
awk,一种处理文本文件的语言,强大的文本分析工具。取三位创始人Alfred Aho、Peter Weinberger和Brian Kernighan的Family Name的首字符
项目上的开发和测试环境非常多,少则数十多则上百,实际工作中实在懒得来回登录或打开各个环境,最好的方案就是给内网环境间添加一下信任关系,便于快速在环境之间切换,免去输入密码的烦恼
expect脚本由一系列expect-send对组成,等待输出中输出特定的字符,通常是一个提示符,然后发送特定的响应,特别适用于需要批量手动输入命令的自动化操作改造
Shell脚本循环读取文件常用的方案有输入重定向和管道操作,循环形式有while和for两种,具体的使用或搭配看个人习惯,个人尚未对命令进行性能验证