Shell 变量。我是这方面的新手,遇到了困难

Shell 变量。我是这方面的新手,遇到了困难
  1. 如果 shell 变量 x 的值为 5,并且您使用 x="expr $x + 10" 重新赋值,那么 x 的新值是什么?如果改用单引号,值会是什么?上述最可能的错误是什么?

答案1

x 的新值将是以下文字字符串:

expr 5 + 10  

如果改用单引号,则 x 的值将是以下文字字符串:

expr $x +10 

为什么会有差异?因为变量扩展在双引号内有效,但在单引号内无效。
如果你想将 10 添加到 x,你应该这样做:

x=5
x=`expr $x + 10` # here is backquote

答案2

的新值为。对于单引号,该值为x。错误在于在赋值运算符的右侧传递了一个字符串,而显然本意是进行求值。expr 5 + 10expr $x + 10

根据您所在教育机构的政策和/或学术荣誉准则,您可能需要在提交作业时引用此超级用户答案,否则将受到处罚,甚至可能被开除学籍。根据您导师的要求,引用格式可能有所不同,但在没有具体指导的情况下,以下内容应作为合理的默认格式:

Miller,Aaron。超级用户对“Shell 变量。我是新手,遇到困难”的回答。Stack Exchange,2013 年。网络。2013 年 11 月 14 日。<https://superuser.com/a/675733/162434>

相关内容