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?

Answers


The command

set -u

Will cause POSIX sh(1) and its derivatives to grouse when an attempt to expand an unset variable is made.

Example:

$ echo $foo

$ set -u
$ echo $foo
sh: foo: parameter not set

Need Your Help

IE8 background images can't resize and offset

css internet-explorer-8 background-image

The background images are normal under IE9, but don't work in IE8.

Xcode 6 Cannot Find .pch File, Although it Exists

ios xcode

I am getting the error clang: error: no such file or directory: '/path/to/my/project/MyProject/Supporting\ Files/MyProject-Prefix.pch' from Xcode 6.3.1 when I try to build my application.

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.