大家好,我正在尝试编写一个脚本,其中命令应包含冒号字符“:”。查看此文档,可以使用字符“^”对字符进行转义,但他们没有提到冒号字符。
命令应该是:
iwconfig wlan0 key s:AsciiPassword
Run Code Online (Sandbox Code Playgroud)
所以在我的脚本中我有类似的内容:
iwconfig $interface key s:$password
Run Code Online (Sandbox Code Playgroud)
当我手动运行第一个命令时,它显然执行了预期的操作,但脚本中的第二个命令什么也没有!!!将不胜感激任何帮助
更新:我无法真正产生输出,因为该命令不会产生任何输出。
是否可以在运行时取消定义宏?这是我尝试的:
for(int i=2; i<argc; i++){
if(strcasecmp(argv[i], "+debug")==0){
puts("+debug");
#ifndef DEBUG
#define DEBUG
#endif
}
if(strcasecmp(argv[i], "-debug")==0){
puts("-debug");
#ifdef DEBUG
#undef DEBUG
#endif
}
Run Code Online (Sandbox Code Playgroud)
我用DEBUG定义的宏编译了代码。它的作用是,它将在标准输出上显示所有消息。如果未定义,它将不会显示这些消息。因此,当我使用option运行应用程序时-debug,它应该取消定义宏。但事实并非如此!我仍然在控制台上收到消息!
有人愿意帮助吗?