2017-02-17 97 views
0

我想从另一个shell脚本的值值的变量,并在shell脚本分配从另一个shell脚本

我用下面的命令试图将其分配给一个变量。但它不工作

BundleVersion= $(sh VersionNumberScript $(PLISTPATH)) 

我能知道什么是错在上面的命令

+0

也许你希望'$(PLISTPATH)'是'$ PLISTPATH',除了等号后面的空格注释,它不应该在那里。 – linuxfan

+0

的确,我没有注意到这一点。那么,除非'PLISTPATH'是一个命令,但它似乎不是。 –

回答

1

=之后有一个额外的空间,这不应该存在。在外壳分配的语法为:

variable=value 

如果你写

variable= value 

它将被解释为

variable='' value 

代表“设置环境变量后,执行命令‘价值’ '变量'为空字符串“。

+0

我已经试过这个,但它不工作。当我试图运行脚本时,它的打印,但它没有被赋值给一个变量 – Icoder

+0

@Icoder:当你甚至没有提到你正在执行这个命令的shell时,很难诊断。以下情况适用,如果它在bash中:首先,执行名为PLISTPATH的程序(在子进程中),并收集其标准输出。然后,程序'VersionNumberScript'被执行(或者作为Posix-Shell或者Bourne Shell,取决于你在哪里),并且接收先前收集的输出作为参数。最后,'VersionNumberScript'的输出存储在变量'BundleVersion'中。 – user1934428

相关问题