好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 詳解Linux  Shell 實(shí)現(xiàn)一個獲取任意位數(shù)的隨機(jī)密碼的腳本

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

熱門標(biāo)簽:春運(yùn)地圖標(biāo)注app 昆明電銷機(jī)器人價格 地圖標(biāo)注人員分布 上海機(jī)器人外呼系統(tǒng)哪家好 益陽400電話申請辦理流程 梧州防封電銷卡 怎么用百度地圖標(biāo)注坐標(biāo) 江西全自動外呼系統(tǒng)報價 400的電話一般從哪里辦理

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

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

我成功了 :)

分析問題

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

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

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

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

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

最終代碼如下:

#!/bin/bash
# 如果得到參數(shù) 則將得到的參數(shù)作為密碼的位數(shù),否則指定密碼位數(shù)為8
if [ -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

 # 取得一個隨機(jī)數(shù)
 # $RANDOM 是獲取一個小于 32767 的隨機(jī)數(shù)
 # 所以除以 32767 就可以得到一個 0 - 1 之間的隨機(jī)小數(shù) 
 r=`echo $RANDOM/32767 | bc -l`

 # 根據(jù)隨機(jī)數(shù)*字符長度取得一個數(shù)字
 num=`echo $r*$charsLength | bc`

 # 將取得數(shù)字向上取整,并在字符串中截取對應(yīng)位置的字符
 w=`echo $chars | cut -c$((${num//.*/+1}))`

 # 字符追加到 pw 這個變量
 pw=$pw$w
done

# 輸出我們想要的密碼
echo $pw

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

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

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

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

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

cd ~
mkdir .bin
vim .bash_profile

在 .bash_profile 文件中添加

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

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

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

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

您可能感興趣的文章:
  • Shell創(chuàng)建用戶并生成隨機(jī)密碼腳本分享
  • PowerShell生成隨機(jī)密碼的方法
  • Shell腳本生成隨機(jī)密碼的若干種可能

標(biāo)簽:新疆 惠州 九江 北京 懷化 亳州 贛州 河南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Linux  Shell 實(shí)現(xiàn)一個獲取任意位數(shù)的隨機(jī)密碼的腳本》,本文關(guān)鍵詞  詳解,Linux,amp,nbsp,Shell,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解Linux  Shell 實(shí)現(xiàn)一個獲取任意位數(shù)的隨機(jī)密碼的腳本》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解Linux  Shell 實(shí)現(xiàn)一個獲取任意位數(shù)的隨機(jī)密碼的腳本的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 嗯啊啊用力| 村长撕开乳罩吸奶头在线观看 | 免费无码婬A片在线视频夜网站| 日本二区免费一片黄2019| 风间由美被义子中文字幕| 欧美亚洲精品尤物| 欧美另类丰满大荫蒂喷潮| 在线观看视频免费国语| 下面好爽| 扒下小娇妻的内裤打屁股| 总受抹布np高潮呻吟np| 午夜在线影视| 国外一级片| 灌醉国产AV精品一区二区公交车| 古代级a毛片免费观看中字| 欧美天天在线| 日本护士取精视频| 少妇人妻偷人精品视频18禁| 国产精品乱码一区二区三网站| 玖玖在线国产精品| 亚洲色图8p| 丽玲跪着让主人调教伺候| 伊甸园激情无码AⅤ视频| 丝袜精尽福利视频rosi免费| 舔女人下体视频| 另类小说五月天| 三上悠亚被躁57分钟未删减| 18禁女裸乳扒开腿免费图片| 扒开双腿粉嫩流白浆| 男人桶女人肌肌| 湿胸吻胸添奶头gif动态图| 中国女星大BBBBB毛多水多| 男人把女人日出水| 国产中老年妇女饥渴视频| 无毛片| 影音先锋AV啪啪资源| 亂伦小说合集小说| 免费黄色看看| 白丝捆绑m吊带开腿调教| 强行从后面挺进美妇| 欧美人与善交大片免费看|