#!/bin/bash LENGTH=${1:-32} cat /dev/urandom | tr -dc 'a-zA-Z0-9-_!@#$%^&*()_+{}|:<>?=' | fold -w $LENGTH | head -n 1 | grep -i '[!@#$%^&*()_+{}|:<>?=]'