假设我有一个变量命令$EXPORT
,它被定义为类似于
EXPORT=$(eval "export PYTHONPATH=/path/to/package1:$PYTHONPATH")
字符串
但是,我希望命令将一个新的package2而不是package1导出到$PYTHONPATH
。**注意,我希望通过修改当前的$EXPORT
变量而不是重新定义它来实现这一点。**我所尝试的是将字符串"/path/to/package1"
替换为"/path/to/package2"
:
echo ${$EXPORT//"/path/to/package1"/"/path/to/package2"}
型
但我得到了“错误替换”错误。
那么在bash中修改变量命令的正确方法是什么呢?
1条答案
按热度按时间rkue9o1l1#
不要将代码存储在变量中,变量用于存储数据,函数用于存储代码。参见https://mywiki.wooledge.org/BashFAQ/050。
我想你可能想要这个(未经测试):
字符串
然后你可以运行
do_export '/path/to/package2'
来前置package2
,而不是package1
到PYTHONPATH
和mycmd ..
来在父目录上运行ls
。