假设我有一个名为“a\b”的文件(可执行文件)。它只是呼应一些东西。现在我想调用它,我可以通过输入来做到这一点
user@machine:~/test$ ./a\\b
进入我的控制台。现在让我们将其写入变量中
user@machine:~/test$ COMMAND="./a\\b"
现在我想通过使用反引号来执行这个文件“a\b”。结果如下:
user@machine:~/test$ `$COMMAND`
a: command not found
user@machine:~/test$
所以,这是我的问题:我怎样才能做到这一点?
我尝试了多种方法,并在 COMMAND 中使用 '' 和多个反斜杠,但没有任何效果......
我知道它毫无意义,但我只是想知道 bash 和 `` 如何协同工作来解释事物
答案1
我认为您的可执行文件只是打印a
到屏幕上。当您写入时$COMMAND
,文件被执行,并且输出尝试再次执行。因为它无法执行a
命令,所以会出现错误。您可以简单地使用$COMMAND
或echo `$COMMAND`