Ano*_*ous 1 linux bash variable
是的,是的,我知道您可能会说“嘿,还有数百人在问同样的问题”,但事实并非如此;我不想做这样的事情:
foo="example1"
bar="example2"
foobar="$foo$bar"
Run Code Online (Sandbox Code Playgroud)
我正在尝试这样做:
foo="example1"
$foo="examle2"
Run Code Online (Sandbox Code Playgroud)
但是每当我尝试这样做时,我都会收到一条错误消息:
bash: example1=example2: command not found
Run Code Online (Sandbox Code Playgroud)
有什么建议?这甚至可能吗?
这里有些例子:
declare [-g] "${foo}=example2"
Run Code Online (Sandbox Code Playgroud)
declare -n foo='example1'
foo='example2'
Run Code Online (Sandbox Code Playgroud)
eval "${foo}=example2"
Run Code Online (Sandbox Code Playgroud)
mapfile -t "${foo}" <<< 'example2'
Run Code Online (Sandbox Code Playgroud)
printf -v "${foo}" '%s' 'example2'
Run Code Online (Sandbox Code Playgroud)
IFS='' read -r "${foo}" <<< 'example2'
Run Code Online (Sandbox Code Playgroud)
typeset [-g] "${foo}=example2"
Run Code Online (Sandbox Code Playgroud)
正如其他用户所说,eval
通常要小心使用间接分配。