Shell脚本之:生产随机密码的若干种可能

1.生成随机密码(urandom版本)

#!/bin/bash
#Author:丁丁历险(Jacob)
#/dev/urandom文件是Linux内置的随机设备文件
#cat /dev/urandom可以看看里面的内容,ctrl+c退出查看
#查看该文件内容后,发现内容有些太随机,包括很多特殊符号,我们需要的密码不希望使用这些符号
#tr -dc ‘_A-Za-z0-9‘  </dev/urandom   
#该命令可以将随机文件中其他的字符删除,仅保留大小写字母,数字,下划线,但是内容还是太多
#我们可以继续将优化好的内容通过管道传递给head命令,在大量数据中仅显示头10个字节
#注意A前面有个下划线
tr -dc ‘_A-Za-z0-9‘  </dev/urandom  | head -c  10

2.生成随机密码(字串截取版本)

#!/bin/bash
#Author:丁丁历险(Jacob)
#设置变量key,存储密码的所有可能性(密码库),如果还需要其他字符请自行添加其他密码字符
#使用$#统计密码库的长度
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
num=${#key}
#设置初始密码为空
pass=‘‘
#循环8次,生成8为随机密码
#每次都是随机数对密码库的长度取余,确保提取的密码字符不超过密码库的长度
#每次循环提取一位随机密码,并将该随机密码追加到pass变量的最后
for i in {1..8}
do 
       index=$[RANDOM%num]
       pass=$pass${key:$index:1}
done
echo $pass

3.生成随机密码(UUID版本,16进制密码)

#!/bin/bash
uuidgen

4.生成随机密码(进程ID版本,数字密码)

#!/bin/bash
echo $$
时间: 2024-11-09 06:32:48

Shell脚本之:生产随机密码的若干种可能的相关文章

Linux系统shell脚本编程——生产实战案例

Linux系统shell脚本编程--生产实战案例     在日常的生产环境中,可能会遇到需要批量检查内网目前在线的主机IP地址有哪些,还可能需要检查这些在线的主机哪些端口是开放状态,因此依靠手工来检查是可以实现,但比较费时费力,所以需要结合shell脚本来实现批量检查的功能,那么今天就来做个小小的实验. 1.开发脚本前准备 一般大家都知道,测试主机是否在线,常用的命令无非就是ping.nmap,因此,首先找一个地址来测试下ping命令的效果 [[email protected] scripts]

Shell脚本中执行mysql的几种方式(转)

Shell脚本中执行mysql的几种方式(转) 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境   [[email protected] ~]# more /etc/issue   CentOS rele

SHELL 1、Shell脚本基础及执行的几种方式

"#!"幻数:一般规范在脚本的开头,用来指定那个解释器来执行脚本中的内容.注:仅脚本第一行#! 有效,后面显示为注释!如果不指定解释器,那么默认使用当前系统的默认shell执行脚本,一般默认 为bash.常见例: #!/bin/bash    #!/bin/sh # 注释:对脚本进行注释说明,仅给开发者使用者看,系统 无法标记,注释不会被执行:注释可自成一行,也可以跟在脚本命令后面与命令在同一行.脚本执行顺 序:从上到下.从左到右,有嵌套脚本先执行嵌套脚本. Shell脚本执行的几种方

shell脚本只提供整数算术运算(三种方式)—((表达式))、let &quot;表达式&quot;、value=`expr 表达式右边` (转载)

转自:http://blog.163.com/[email protected]/blog/static/132229655201131055455754/ 数值运算: 在bash中只提供了整数运算,一般shell通过let和expr这两个指令来实现. 使用格式为:   let  "x=$x+1"    或者    x=`expr  $x+1` 同时,在shell中,也可以通过((表达式)). 使用格式为:((x=$x+1)) 在上面的三种方式中,运算符还可以是: +.-.*./.% 

[转]Shell脚本之无限循环的两种方法

方法一: while循环,用的比较多的 #!/bin/bash set j=2 while true do let "j=j+1" echo "----------j is $j--------------" done 方法二: for  ,看到这个用法时,看来是真真了解了for的含义 #!/bin/bash set i=0 set j=0 for((i=0;i<10;)) do let "j=j+1" echo "-------

Linux中执行shell脚本的4种方法

这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下. bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/root/bin目录中并已有执行权限(添加权限的方法:chmod +x hello.sh). 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: ./ 的意思是说在当前的工作目录下执行hello.sh.如果不加上

shell脚本基础命令学习(一)

shell的作用是解析用户的指令,将shell指令按照特定的流程,组合形成脚本. 查看当前系统shell版本: 编写一个简单的shell脚本后,可以使用下面几种方法来执行: 1,使用chmod给脚本增加x权限,如:chmod +x test.sh 2,/bin/sh 或者 /bin/bash 执行脚本(会创建子进程) 3,source ./test.sh 脚本执行 4,小括号方式,会创建子进程 环境变量,可以直接设置,例如var=100,使用unset var可以删除 通配符: * 匹配一个或多

第三部分shell编程3(shell脚本编写1)

做监控和备份最多 1. shell脚本是什么它是一种脚本语言,并非编程语言可以使用一些逻辑判断.循环等语法可以自定义子函数是系统命令的集合shell脚本可以实现自动化运维,大大增加我们的工作效率 第一个shell脚本:mkdir shellcd shell/vim 1.sh``#! /bin/bash`#This is a test shell script``echo "123456."`touch aming.111`date 2. shell脚本结构以及执行方法开头行指定bash

linux下shell脚本编程1

1. shell脚本是什么 它是一种脚本语言,并非编程语言. 可以使用一些逻辑判断.循环等语法. 可以自定义子函数,是系统命令的集合. shell脚本可以实现自动化运维,大大增加我们的工作效率. 2.shell脚本结构以及执行方法 开头行指定bash路径: #! /bin/bash 以#开头的行作为解释说明 #注释自己的脚本内容,方便自己查阅:utf8字符集,支持中文: 脚本的名字以.sh结尾,用于区分这是一个shell脚本 执行脚本方式有两种: chmod a+x 1.sh    添加x执行权