3

当我尝试这样做时...

$ export my_path='/my/path\ with\ spaces/file'
$ echo $my_path`
/my/path\ with\ spaces/file

有用。

但我想这样做..

$ echo $my_variable
my_path='/my/path\ with\ spaces/file'
$ export $my_variable
-bash: export: `with\': not a valid identifier
-bash: export: `spaces/file'': not a valid identifier

这是我得到的错误。有没有办法处理导出的变量的值.. [[ 注意:如果路径没有空格,它可以完美地工作!!]]

4

1 回答 1

3

不要使用$. 否则,shell 会先扩展变量的值,然后再将其传递给export. 以下将起作用:

export my_variable

在评论中,它指出您不希望将变量赋值本身存储为变量,然后将其传递给export. 这里有一个例子:

var='foo=bar'
export "$var"

# check if it succeeded 
export | grep foo # output: declare -x foo="bar"
于 2013-05-06T09:02:43.220 回答