我必须从C ++命令行应用程序中执行m=7
之类的赋值。当我使用sudo MyApp
运行此应用程序时,程序中存在的命令无法执行。
sudo m=7
因以下错误而失败
的 Command Not Found
的。
有没有办法让我可以为命令中存在sudo
关键字的变量赋值?
基本上我想要一种方法来做sudo {Assignment}
,即sudo m=3
。感谢。
答案 0 :(得分:0)
sudo
命令允许用户作为给定用户运行外部命令(默认值:root)。 m=7
不是外部命令,因此不能由sudo运行。它是一个变量赋值语句,由当前shell直接解释和执行。
Command not found
消息表明sudo找不到名为m = 7的可执行命令。
事实上,很难想象运行sudo m=7
的预期目标是什么。如果要将7分配给shell变量m
,则不需要任何特殊权限或sudo
,只需运行m=7
即可。如果要打开root shell并执行一些命令,那么从m=7
开始,只需从sudo bash
开始,然后发出m=7
语句。