【问题标题】:Running a command line through shell script is not working [duplicate]通过shell脚本运行命令行不起作用[重复]
【发布时间】:2019-02-08 15:36:29
【问题描述】:

我有一个 Unix 应用程序。我使用以下命令连接到它: ./application -a "连接"

我想通过 shell 脚本做同样的事情,为此我将命令行分配给一个变量,例如:

newcommand = './application -a "connect"'
$newcommand

但这不起作用。

但是代码的第一部分可以正常工作。即:

newcommand = "./application"

$newcommand

谁能指出我错过了什么。

【问题讨论】:

  • 你的脚本是什么样的,你得到了什么错误信息?
  • 是的。 @Geose Feroz,确切地知道你运行了什么,确切地发生了什么以及你期望发生什么会很方便。

标签: shell


【解决方案1】:

信不信由你:

newcommand = "./application"

...让 shell 运行命令 newcommand 和参数 =./application

在 shell 中,简单赋值不能有任何不受保护的空格,否则它们将被解释为命令。

考虑:

newcommand=./application
$newcommand

...请注意,作业中 = 符号周围没有空格。

【讨论】:

    最近更新 更多