麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > Linux Shell > 正文

詳解Linux  Shell 實(shí)現(xiàn)一個(gè)獲取任意位數(shù)的隨機(jī)密碼的腳本

2020-07-27 18:52:44
字體:
供稿:網(wǎng)友

Shell 命令行,實(shí)現(xiàn)一個(gè)獲取任意位數(shù)的隨機(jī)密碼的腳本

每次我們想要獲得一個(gè)密碼的時(shí)候都很頭疼,于是我之前自己用nodejs寫了一個(gè) Shell 腳本。這兩天在學(xué)習(xí) bash Shell 所以,想用同樣的邏輯實(shí)現(xiàn)一個(gè)獲取任意位數(shù)隨機(jī)密碼的腳本。

我成功了 :)

分析問題

我們假設(shè)我們需要的密碼是大小寫字母以及數(shù)字的組合,并且剔除掉 1,l,0,O,o 這些不便于認(rèn)知的字符。

然后隨機(jī)的讀取其中的字符,組合成一個(gè)我們需要的密碼,最后輸出。

理順了邏輯之后,我想到有下面的知識點(diǎn)是我之前不是很熟悉的。不過沒關(guān)系,善用搜索引擎,這些問題都能解決

  1. 任意位數(shù),所以需要接受傳參
  2. 如果沒有傳參,則要給一個(gè)默認(rèn)值
  3. 需要實(shí)現(xiàn)隨機(jī)數(shù)效果
  4. 字符串追加,這個(gè)倒是蠻簡單的
  5. 獲取字符串中指定位數(shù)的字符
  6. 數(shù)字向上取整

實(shí)現(xiàn)代碼

最終代碼如下:

#!/bin/bash# 如果得到參數(shù) 則將得到的參數(shù)作為密碼的位數(shù),否則指定密碼位數(shù)為8if [ -n "$1" ]; then length=$1;else length=8; fi# 設(shè)定可以作為密碼的字符串chars='abcdefghijkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789'# 獲取上面的字符串的長度,其實(shí)可以直接數(shù)一下,這不是練一下 shell 嘛charsLength=`echo $chars | wc -m | sed 's/^[ /t]*//g'`# 初始的為空pw=''# 根據(jù)所需密碼長度進(jìn)行循環(huán)for ((i=0;i<$length;i++));do # 取得一個(gè)隨機(jī)數(shù) # $RANDOM 是獲取一個(gè)小于 32767 的隨機(jī)數(shù) # 所以除以 32767 就可以得到一個(gè) 0 - 1 之間的隨機(jī)小數(shù)  r=`echo $RANDOM/32767 | bc -l` # 根據(jù)隨機(jī)數(shù)*字符長度取得一個(gè)數(shù)字 num=`echo $r*$charsLength | bc` # 將取得數(shù)字向上取整,并在字符串中截取對應(yīng)位置的字符 w=`echo $chars | cut -c$((${num//.*/+1}))` # 字符追加到 pw 這個(gè)變量 pw=$pw$wdone# 輸出我們想要的密碼echo $pw

運(yùn)行一下,果然得到了我們想要的結(jié)果。

將這個(gè)命令作為一個(gè)系統(tǒng)命令,可以隨時(shí)執(zhí)行

  1. 我們在 ~目錄下面新建一個(gè) .bin 的文件夾
  2. 將 ~/.bin 設(shè)置為環(huán)境變量
  3. 然后將此腳本放到改文件夾下面,并命名為 getpass
  4. chmod +x getpass 添加可執(zhí)行權(quán)限

然后我們就可以隨時(shí)輸出這個(gè)命令,來得到我們想要的密碼了。

將 ~/.bin 設(shè)置為環(huán)境變量

cd ~mkdir .binvim .bash_profile

在 .bash_profile 文件中添加

export PATH="$PATH:~/.bin"

其他不說了,學(xué)習(xí) shell 的話,一些基本的命令應(yīng)該是沒有問題的。

以上腳本均在 mac 下測試通過,在 Linux 下可能會有稍許不同。

如有疑問請留言,或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲国产馆 | 久久一级 | 激情视频导航 | 国产亚洲精品久久久久久久久久 | 国产精品久久久久久久av三级 | 日日操操 | 久久久成人999亚洲区美女 | 免费在线观看一级片 | av电影免费播放 | bt 自拍 另类 综合 欧美 | 92看片淫黄大片欧美看国产片 | 精品一区二区电影 | 欧美日韩在线影院 | 日韩毛片网| 国产午夜精品在线 | 免费激情网址 | lutube成人福利在线观看污 | 日韩精品中文字幕一区 | 国产在线观看91一区二区三区 | 一区二区三区在线观看国产 | 91av视频大全 | 一区二区三区日本在线观看 | 国产资源视频在线观看 | 2019天天干夜夜操 | 欧美成人一区免费视频 | 九九热精品在线播放 | www.91视频com | 久久亚洲国产精品 | 精品国产一区二区三区在线观看 | 久久欧美亚洲另类专区91大神 | 中文字幕在线视频网站 | 欧美1区2区在线观看 | 欧美大荫蒂xxx | 国产精品久久久久国产精品三级 | 国产成人自拍视频在线观看 | 久久蜜臀一区二区三区av | 免费在线观看毛片视频 | 麻豆视频观看 | 国产91久久久久久 | 日韩黄色影视 | 久久伊人国产精品 |