Bash
附加迴聲磷assword通用電氣_______磷一種ss在這rdG和n和r一種噸這rPassword Generator
我正在創建一個密碼生成器,但是我沒有正確附加密碼。
這是我的腳本
i="0" while [ $i -lt 5 ] do echo -n '#' >> passwords.txt && openssl rand -hex 4 >> passwords.txt && echo -n '/' >> passwords.txt && echo -n 'X' >> passwords.txt i=$[$i+1] done
輸出
#b887e0d0 /X#7093289e /X#2210cfcd /X#fd175e1f /X#0c18fc9e /X
預期產出
#b887e0d0/Z #7093289e/Z #2210cfcd/Z #fd175e1f/Z #0c18fc9e/Z
我怎樣才能使它不會跳過第一行,並且它會按該順序執行每個命令,並將寫入密碼 txt 文件作為預期的輸出。
謝謝。
這應該這樣做:
for i in {1..5}; do printf '#%s/Z\n' "$(openssl rand -hex 4)" done >passwords.txt
我用對 printf 的一次呼叫替換了多次呼叫 echo。將對 openssl 的呼叫包裝在命令替換中具有使行尾消失的副作用,並且換行符是您的範例中可見換行符放置不當的原因。
問題是
openssl
“有幫助”並在隨機字元串的末尾放置一個換行符。您可以通過管道將其刪除tr
openssl rand -hex 4 | tr -d '\n'