我有一个名为环境变量$TEST
是指在我的bash脚本的目录中我称之为一个变量$VARTEST
是 $TEST/dir/file
现在我想grep指定的文件,$VARTEST
所以我尝试:
grep somestring $VARTEST
但它不会转换$TEST
为它的目录
我已经尝试不同的组合{}
,""
并''
但没有成功
我想你想要的
eval grep somestring "$VARTEST"
甚至
VARTEST_EVALUATED=$(eval echo $VARTEST) grep "$SOMESTRING" "$VARTEST_EVALUATED"
但请记住(正如其他人已经说过的):如果可能的话
VARTEST="$TEST/foo/bar"
代替
VARTEST='$TEST/foo/bar'
只有在你真的需要'懒惰评估'的时候才使用第二个...
警告,如果$VARTEST
包含恶意代码,这可能是危险的.