Declaring User Defined Variable in Shell Scripting (csh shell)

Elpezmuerto picture Elpezmuerto · Sep 28, 2010 · Viewed 45.5k times · Source

I am trying to learn shell scripting and trying to create a user defined variable within the script, first:

howdy="Hello $USER !"
echo $howdy

However, when I execute the script (./first) I get this:

howdy=Hello aaron!: Command not found.
howdy: Undefined variable.

What am I doing wrong?

Answer

andcoz picture andcoz · Sep 28, 2010

You have two errors in you code:

  1. you are using sh syntax instead of csh one to set the variable
  2. you are not escaping the "!" character (history substitution)

Try this:

#!/bin/csh

set howdy="Hello $USER \!"
echo $howdy