linux – bash:设置数组env变量并从任何shell脚本中取消引用它
发布时间:2020-12-13 19:20:47 所属栏目:Linux 来源:网络整理
导读:我以这种方式将数组设置为环境变量 例如.脚本test.sh 在test.sh中 #!/bin/bashexport STRING=( "str1" "str2" ) source test.sh 现在在脚本test-1.sh中 #!/bin/bashecho ${STRING[0]} 反应没什么,只是一条空白, 然而,如果我尝试在test.sh中设置STRING =“str
我以这种方式将数组设置为环境变量
例如.脚本test.sh 在test.sh中 #!/bin/bash export STRING=( "str1" "str2" ) source test.sh 现在在脚本test-1.sh中 #!/bin/bash echo ${STRING[0]} 反应没什么,只是一条空白, 测试仅从root用户执行, 我需要将数组设置为env变量,因为我可能需要编写许多脚本,这些脚本将使用这些变量设置. 任何人都可以向我提出建议,以纠正我在哪里做错了吗? 解决方法
阅读精细手册,“错误”部分.
虽然,我不知道很多人认为这是一个真正的错误.其他支持ksh样式数组的shell也不允许导出它们. 您可以通过参数或变量或环境轻松传递数组定义.但它通常不是很有用. function f { unset -v "$2" typeset "$2" eval "${!1}" typeset -p "$2" } typeset -a a=(a b c) myArr=$(typeset -p a) f myArr a (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |