When one issues the
set command without arguments at a bash prompt (which should output a list of shell variables and their values), a script of 8,274 lines scrolls by. Examining this script shows that it is instructions to the shell for executing commands - and it seems that it runs python scripts, making it essentially a kludge of monstrous proportions. I've seen other builtins behave in a few ways
Me:~$ wait Me:~$ true Me:~$ test
An error, with no usage hint:
Me:~$ select bash: syntax error near unexpected token `newline'
An error, with usage hint:
Me:~$ source bash: source: filename argument required source: usage: source filename [arguments] Me:~$ return bash: return: can only `return' from a function or sourced script
I'm having trouble understanding why
set behaves in this way. It seems undocumented, and I wasn't really expecting it. I'm troubled as to why this happens. Can anyone explain?