Bash
如何從 /dev/urandom 讀取 N 個隨機字元?
read /dev/urandom 3
以上不起作用..如何從
/dev/urandom
bash 中讀取隨機字節?
random="$(dd if=/dev/urandom bs=3 count=1)"
if
指定輸入文件、bs
塊大小(3 個字節)和count
塊數(1 * 3 = 3 個總字節)
head -c 500 /dev/urandom | tr -dc 'a-zA-Z0-9~!@#$%^&*_-' | fold -w 3 | head -n 1
(如果您想要文字短劃線字元,短劃線字元必須像上面所做的那樣位於字元串的末尾,而不是
*-_
)。並解釋由於上述命令集所做的事情:
head -c 500 /dev/urandom
: 從 中獲取前 500 個字元(字節)/dev/urandom
。tr -dc 'a-zA-Z0-9~!@#$%^&*_-'
:從第一個命令的輸出中刪除除中指定的字元之外的所有字元。'a-zA-Z0-9~!@#$%^&*_-'
fold -w 3
: 格式化第二個命令的輸出,使其每行 3 個字元。head -n 1
:在第一行顯示第三條命令的結果stdout
。