.png)
이것은 내 비밀번호 생성기입니다. 8자를 생성하고 섞습니다. 하지만 동적 길이로 만들어야 합니다. 어떻게 해야 하나요? 따라서 출력 길이는 8 - 16자 사이입니다.
if [ $# -eq 0 ]; then
num=("0" "1" "2" "3" "4" "5" "7" "8" "9")
special=("@" "#" "$" "%" "*" "-" "+")
upper=(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)
lower=(a b c d e f g h i j k l m n o p q r s t u v w x y z)
lower2=${#lower[*]} #${lower[$((RANDOM%lower2))]}
upper2=${#upper[*]} #${upper[$((RANDOM%upper2))]}
num2=${#num[*]} #${num[$((RANDOM%num2))]}
special2=${#special[*]} #${special[$((RANDOM%special2))]}
echo "${special[$((RANDOM%special2))]}${num[$((RANDOM%num2))]}${lower[$((RANDOM%lower2))]}${upper[$((RANDOM%upper2))]}${lower[$((RANDOM%lower2))]}${upper[$((RANDOM%upper2))]}${lower[$((RANDOM%lower2))]}${upper[$((RANDOM%upper2))]}" | fold -w 1 | shuf | tr -d '\n'
echo
fi
답변1
놓다
len=$((8+RANDOM%9))
그런 다음 $len
밀접하게 관련된 질문에 대한 답변으로 제공한 것과 같은 프레임워크를 사용하여 문자를 생성합니다.이 비밀번호 생성기에서 하나의 특수 문자만 생성하는 방법질문,
word=
for ((i=0; i<len; i++))
do
thischar=(Generate one character by whatever logic you like)
word="$word$thischar"
done
echo "$word"
귀하의 선호도에 맞는 문자 그룹을 배포할 수 있도록 개별 문자를 생성하는 방법을 결정하도록 하겠습니다. 이는 귀하의 질문 범위를 벗어나며 귀하의 요구 사항을 작성하는 것과 관련이 있습니다(예:너의 문제) 당신을 위한.