我想用一个变量,这个名字(?):topMiddleOligocenetoUpperEocene?问号shell变量
我怎么能做到这一点在shell脚本(即,使用问号)?我试过了:
{topMiddleOligocenetoUpperEocene?}="something"
但是在我的shell脚本(myfile.sh在第一行#!/ bin/sh中使用)中没有理解它。
任何暗示将提前赞赏,感谢。
我想用一个变量,这个名字(?):topMiddleOligocenetoUpperEocene?问号shell变量
我怎么能做到这一点在shell脚本(即,使用问号)?我试过了:
{topMiddleOligocenetoUpperEocene?}="something"
但是在我的shell脚本(myfile.sh在第一行#!/ bin/sh中使用)中没有理解它。
任何暗示将提前赞赏,感谢。
不能。这在bash中不是一个有效的标识符。见name
定义在http://www.gnu.org/software/bash/manual/bashref.html#Definitions
名
仅由字母,数字字,并强调,并以字母开头或下划线。名称用作shell变量和函数名称。也被称为标识符。
?不能是变量名称的一部分,例如:%=,对于shell而言更具有特殊意义。在这种情况下,它会尝试查找以变量名和1个字符(任何字符)开头的文件。除非你有一个可以被hte环境执行的东西,否则它会返回一个错误。
ksh:
{topMiddleOligocenetoUpperEocene?}="something"
sh: {topMiddleOligocenetoUpperEocene?}=something: not found.
bash
{topMiddleOligocenetoUpperEocene?}="something"
bash: {topMiddleOligocenetoUpperEocene?}=something: command not found
我看到'dash'手册页说“用户设置的变量必须包含一个仅由字母,数字和下划线组成的名称 - 第一个名称不能是数字。 –