排列我有一個腳本,其中你必須輸入一個長度較大的字符串,然後或等於1並且小於26檢查在bash
如果這不是我想要返回一個錯誤的情況。但是,這是我想通了
lengthAlphabetInput=${#1}
if [ $lengthAlphabetInput -lt 1 ] || [ $lengthAlphabetInput -gt 26 ]
then
echo "error: key needs to be between 1 and 26 characters"
exit 1
fi
除此之外,我想檢查用戶是否給了輸入的置換(的一部分)字母的部分。
例如,如果用戶輸入「ABC」我想返回一個錯誤「ABC是 不是字母表的排列」
,如果用戶輸入「xxxgsdnoip」我想再次返回相同錯誤 ,因爲我不希望用戶多次使用同一個字母。
但輸入「xyz」或「jhcwslaedmviotrgzxkbynpuqf」將是正確的 ,因爲這些是字母表的排列。 (x而不是a,y代替b和z而不是c代替)。
任何人都可以幫助我將這個想法轉化爲代碼嗎?
爲什麼「xyz」可以接受,但「abc」不是? – tripleee
告訴我們你已經嘗試過什麼以及你卡在哪裏。解釋你會使用哪些工具。嘗試一下。告訴我們你的努力。 – tripleee
字母表的排列可以是長度爲26個字母的任何字符串,每個字母只包含一次字母,其中字母順序不重要。 – chepner