How to warn for the use of unset variables in a KornShell script.
Is there any way to throw errors or warnings in a KornShell (ksh) script to prevent the use of unset variables? Let's assume I have a temporary folder that I want to remove.
TEMP_FILES_DIR='/app/myapp/tmp' rm -Rf $TEMP_FILE_DIR #notice the misspelling
How to prevent this kind of mistakes before they actually happen?
I know the script should check for file existence and empty string before attempting to remove, this is just a silly example to illustrate a mistake that could have been avoided with some warnings. I don't know if this feature exists in ksh. If it does exist, how do you turn it on?
Will cause POSIX sh(1) and its derivatives to grouse when an attempt to expand an unset variable is made.
$ echo $foo $ set -u $ echo $foo sh: foo: parameter not set
You could check the variable for having content, ie not being '', and print-out a message like "the variable is empty".
However, that's still not going to fix PEBCAK errors like this - all you'd know is that nothing happened.