macos – 如何导出点分隔的环境变量

执行
user@EWD-MacBook-Pro:~$export property.name=property.value

给我

-bash: export: `property.name=property.value': not a valid identifier

是否可以使用点内部的系统属性?如果是这样的话怎么样?

正如其他人所说的那样,bash不允许这样做,因此你必须使用自己喜欢的脚本语言来完成它.例如,在Perl中:
perl -e '$ENV{"property.name"} = "property.value"; system "bash"'

这将使用property.name环境变量集启动子shell bash,但您仍然无法从bash访问该环境变量(尽管您的程序将能够看到它).

编辑:@MarkEdgar评论env命令也可以工作:

env 'property.name=property.value' bash # start a subshell,or
 env 'property.name=property.value' command arg1 arg2 ...   # Run your command

像往常一样,如果需要保护shell中的特殊字符或者想要在属性名称或值中包含空格,则只需要引号.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...