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

6

我正在尝试学习shell脚本并尝试在脚本中创建一个用户定义的变量first:

howdy="Hello $USER !"
echo $howdy

然而,当我执行脚本 (./first) 时,我得到了如下结果:
howdy=Hello aaron!: Command not found.
howdy: Undefined variable.

我做错了什么?

使用哪种Shell?bash、ksh、zsh等? - user180100
我不知道这很重要,但它是csh。 - Elpezmuerto
3
这里有一个指示说明它的重要性:Csh编程被视为有害 - Dennis Williamson
每个shell都有自己的语言和语法。 - andcoz
3个回答

12

你的代码中有两个错误:

  1. 你使用了sh语法而不是csh来设置变量
  2. 你没有转义"!"字符(历史替换)

尝试这样做:

#!/bin/csh

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

1

csh 希望你可以 set 变量。请尝试。

set howdy="Hello $USER"
echo $howdy

0

你正在做

howdy=''Hello $USER !''

你需要使用双引号将字符串括起来,例如:

howdy="Hello $USER !"

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


把它放到 Stack Overflow 上时打错了字,抱歉。 - Elpezmuerto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接