2017-02-17 23 views
0

からの値を持つ変数の割り当てと、私は以下のコマンドを使用してみましたシェルスクリプト私は別のシェルスクリプトから値を取得しようとしている別のシェルスクリプト

で変数に代入。しかし、

BundleVersion= $(sh VersionNumberScript $(PLISTPATH)) 

が、私はそこではありませんあなたは=後に余分なスペースを持っている上記のコマンド

+0

おそらく '$(PLISTPATH)'を '$ PLISTPATH'にしたいと思うでしょう。 – linuxfan

+0

確かに、私はこれに気付かなかった。まあ、 'PLISTPATH'がコマンドでない限り、そうではないようです。 –

答えて

1

、で間違っているのかを知ることができます働いていません。シェルの代入の構文は次のとおりです。

variable=value 

あなたが書く場合

variable= value 
それは、環境変数を設定した後、コマンド 『の値を』を実行」の略で

variable='' value 

と解釈されます

'variable'を空の文字列に置き換えます。

+0

私はこれを試しましたが、動作しません。スクリプトを実行しようとしているが、変数に割り当てられていない場合 – Icoder

+0

@Icoder:このコマンドを実行しているシェルについて言及していないと、診断は難しい。以下が適用されます(bashの場合)。まず、PLISTPATHという名前のプログラムが(子プロセスで)実行され、その標準出力が収集されます。次に、プログラムVersionNumberScriptが実行され(Posix-ShellまたはBourne Shellのいずれかで、どこにいるかに応じて)、以前に収集された出力をパラメータとして受け取ります。最後に、 'VersionNumberScript'の出力は変数' BundleVersion'に格納されます。 – user1934428

関連する問題