Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 防止shell命令替换_C++_C_Shell_Command Substitution - Fatal编程技术网

C++ 防止shell命令替换

C++ 防止shell命令替换,c++,c,shell,command-substitution,C++,C,Shell,Command Substitution,有没有办法防止shell脚本中的命令替换 例如,如果脚本包含以下行: var=`echo foo` 我想知道怎么得到“echo foo”。不仅仅是命令foo的替代品 编辑:我正在尝试存储这些命令,以便以后评估。另外,我不能手动编辑脚本;我需要在C/C++程序中使用这些值,这样我就必须以某种方式解析脚本,这就破坏了目的(这正是我想要避免的:解析脚本) 编辑#2:此处解释的完整情况:有一个shell脚本,其中包含一组变量,如下所示: foo="bar" baz=`some_command` 我希

有没有办法防止shell脚本中的命令替换

例如,如果脚本包含以下行:

var=`echo foo`
我想知道怎么得到“echo foo”。不仅仅是命令foo的替代品

编辑:我正在尝试存储这些命令,以便以后评估。另外,我不能手动编辑脚本;我需要在C/C++程序中使用这些值,这样我就必须以某种方式解析脚本,这就破坏了目的(这正是我想要避免的:解析脚本)

编辑#2:此处解释的完整情况:有一个shell脚本,其中包含一组变量,如下所示:

foo="bar"
baz=`some_command`

我希望每个变量都存储表达式的正确部分(即“bar”和“some_command”)。我必须在C/C++程序中执行此操作,因此无法手动编辑脚本(例如添加单引号)。

您必须将字符串放入单引号中

var='`echo foo`'

你想干什么?如果要为
eval
“保护”字符串,则该字符串无效。是否要分析脚本?你说你想从
var=`echo foo`
中获取
`echo foo`
,它看起来很像shell语法,而不是C/C++语法。用户是否在C/C++程序中键入了应该在shell中运行的命令?@l0b0:我不想解析脚本(这是一个漫长而痛苦的过程)。所以,我想把生成一个shell作为另一个过程,并用脚本在那里做一些事情。因此,是的,我正在寻找一些shell语法/魔力。我提到C/C++程序是为了表明脚本不能手动编辑。忘记提到我不能手动编辑此脚本。我想在C/C++程序中获取这些值,因此我必须解析脚本以找到单引号的位置,这正是我想要避免的。