47 lines
506 B
Bash
Executable File

#!/usr/bin/env bash
winl=4
win=''
function add() {
win="${win:1}${1}"
}
function contains() {
# $1 what
# $2 where
local l=${#2}
local ret=1
while (( l-- )); do
[[ "$1" = "${2:$l:1}" ]] && ret=0 && break
done
return $ret
}
function unq() {
local l=${#1}
while (( --l )); do
contains ${1:$l:1} ${1:0:$l} && break
done
return $l
}
i=$(( $winl - 1 ))
read -n $i win
win=${win:0:1}${win}
while read -n 1 a; do
let i++
add $a
unq "$win" && break
done
echo $i