views:

46

answers:

3

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?

+1  A: 

csh expects that you set variables. Try

set howdy="Hello $USER"
echo $howdy
Aaron Digulla
+1  A: 

You are doing

howdy=''Hello $USER !''

You need to enclose the string in double quotes as:

howdy="Hello $USER !"

You seem to be using two single quotes in place of a double quote.

codaddict
That was typo when putting it into stack overflow, sorry
Elpezmuerto
+2  A: 

You have two error 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
andcoz