在Shell脚本中声明用户定义的variables(csh shell)

我正在学习shell脚本,并试图在脚本中创build一个用户定义的variables, first

 howdy="Hello $USER !" echo $howdy 

但是,当我执行脚本( ./first )时,我得到这个:

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

我究竟做错了什么?

你在代码中有两个错误:

  1. 你使用sh语法而不是csh来设置变量
  2. 你不是逃避“!” 字符(历史替代)

尝试这个:

 #!/bin/csh set howdy="Hello $USER \!" echo $howdy 

csh希望你set变量。 尝试

 set howdy="Hello $USER" echo $howdy 

你在做

 howdy=''Hello $USER !'' 

您需要将该字符串括在双引号中,如下所示:

 howdy="Hello $USER !" 

您似乎使用两个单引号代替双引号。