Special parameters are the second parameter type and are managed by the shell itself and are presented as read-only. We have come across these before in parameters such as $0 but let's take a look at another $-. We can expand these parameters to gain an understanding of their use, using the echo command:
$ echo "My shell is $0 and the shell options are: $-"
From the annotated text that I have added, we can understand that the $- option represents the shell options that are configured. These can be displayed using the set -o command but it can be read programmatically using $-.
We can see this in the following screenshot:
The options set here are as follows:
- h: This is short for hashall; it allows for programs to be found ...