Elpezmuerto Elpezmuerto - 3 months ago 12
Linux Question

Declaring User Defined Variable in Shell Scripting (csh shell)

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

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