unix bash bash brackets bash debugging bash errors bash eval bash loops bash parameter expansion bash string manipulation bash syntax bash tricks bash variables creating a bash completion script