企業面試必會shell
阿新 • • 發佈:2019-04-29
數字 oldboy base delet ech bsp 企業 too and
企業面試題1:
使用for循環在/oldboy目錄下通過隨機小寫10個字母加固定字符串oldboy批量創建10個html文件,名稱例如為:
[[email protected] oldboy]# sh /server/scripts/oldboy.sh
[[email protected] oldboy]# ls
coaolvajcq_oldboy.html qnvuxvicni_oldboy.html vioesjmcbu_oldboy.html
gmkhrancxh_oldboy.html tmdjormaxr_oldboy.html wzewnojiwe_oldboy.html
jdxexendbe_oldboy.html ugaywanjlm_oldboy.html xzzruhdzda_oldboy.html
qcawgsrtkp_oldboy.html vfrphtqjpc_oldboy.html
首先要解決隨機數的問題
1. 使用SHA算法來加密日期,並輸出結果的前10個字符:
[[email protected] shell]# date +%s |sha256sum |base64 |head -c 10 ;echo YTc4Mjk0Yj
2. 使用內嵌的/dev/urandom,並過濾掉那些日常不怎麽使用的字符。這裏也只輸出結果的前32個字符:
1 #tr參數2 -c或——complerment:取代所有不屬於第一字符集的字符; 3 -d或——delete:刪除所有屬於第一字符集的字符;
4 1.生成10個小寫字母5 [[email protected] shell]# < /dev/urandom tr -dc a-z|head -c ${1:-10};echo 6 iprnfrqlhr 7 2.生成10個大寫字母 8 [[email protected] shell]# < /dev/urandom tr -dc A-Z|head -c ${1:-10};echo 9 PSKSFZYQPH 10 3.生成10個數字 11 [[email protected] shell]# < /dev/urandom tr -dc 0-9|head -c ${1:-10};echo 12 7341384592 13 4.生成10個數字和大寫字母的組合字符串14 [[email protected] shell]# < /dev/urandom tr -dc 0-9-A-Z|head -c ${1:-10};echo 15 M6HP4LHTNJ 16 5.生成10個隨機字符(包含數字,大寫字母,小寫字母) 17 [[email protected] shell]# < /dev/urandom tr -dc 0-9-A-Z-a-z|head -c ${1:-10};echo 18 79JUYcjrjx 19 6.生成10個隨機字符(包含數字,大寫字母,小寫字母) 20 [[email protected] shell]# < /dev/urandom tr -dc 0-9-A-Z-a-z-|head -c ${1:-10};echo 21 JdOi4TMmZD 22 7.生成10個隨機字符(包含數字,大寫字母,小寫字母,特殊字符) 23 [[email protected] shell]# < /dev/urandom tr -dc 0-9-A-Z-a-z-/|head -c ${1:-10};echo 24 s5-yTgMa8G
3. 使用openssl的隨機函數
[[email protected] shell]# openssl rand -base64 10 6kf9CHiiRgiSVQ== [[email protected] shell]# openssl rand -base64 10|tr A-Z a-z 1ivhbhsrvjsfsa== [[email protected] shell]# openssl rand -base64 32|tr A-Z a-z|cut -c 1-10 hbxd/42tag
企業面試必會shell