Shell变量赋值语句不能有空格 |
您所在的位置:网站首页 › 给变量赋值的命令是什么 › Shell变量赋值语句不能有空格 |
iamlaosong文 前两天编一个shell脚本犯了一个低级错误,给变量赋值时加了空格(时间长了,规则都忘了),结果导致变量没有赋值,无法完成预定的功能。因为是一个定时执行的脚本,又是用一个老脚本改的,也就没有测试,结果没有发现这个错误,几天后检查时才发现了问题。教训就是:1、工作要认真认真再认真;2、再小的改动也要测试一下。 1、shell脚本变量名和等号及等号和值之间不能有空格,这可能和我们熟悉的所有编程语言都不一样,变量命名须遵循如下规则: •首个字符必须为字母(a-z,A-Z)。 •中间不能有空格,可以使用下划线(_)。 •不能使用标点符号。 •不能使用bash里的关键字(可用help命令查看保留关键字)。 赋值语句等号两边不能有空格,中间有空格时,shell是把变量当一个命令执行的,如: PROV = anhui 执行时会提示:./tt.sh: line 14: PROV: command not found 正确的写法是: PROV=anhui 如果所赋的值包含空格,可以用引号括起来(没有空格时也可以用引号,效果和不用一样),例如: PROV="anhui province" 2、变量的引用是用$符号加上变量名,例如: echo ../${PROV}/${DATDIR} 变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,建议给所有变量加上花括号,这是个好习惯,既便于阅读,又不易出错。 最后想说明一下,shell脚本对空格有严格的规定,赋值语句等号两边不能有空格,而字符串比较,等号两边必须有空格,如: if [ "${sdpt}" = "sdpt_js" ]; then
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |