我正在bash脚本中定义一个变量,以便在我用root调用宏时使用它,例如:
user = name
root 'macro.C('$user')'
执行宏后,我得到:
Processing macro.C(name)...
Error: Symbol name is not defined in current scope :0:
*** Interpreter error recovered ***
我的宏基本上定义为
void macro(char* user[])
{
//code
}
我认为问题可能出在代码的最后一部分。我要做的就是在宏中使用一个字符串/字符。知道怎么做吗?
提前谢谢!
答案 0 :(得分:2)
Bash不会对单引号('
)中的字符串执行变量扩展。尝试使用双引号("
):
root "macro.C(\"$user\")"
编辑:根据您的评论转义内部字符串。