toupper() { while read -r text do lower=({a..z}) upper=({A..Z}) for ((i=0;i<26;++i)) do text=${text//${lower[i]}/${upper[i]}} done echo "$text" done }