からの値を持つ変数の割り当てと、私は以下のコマンドを使用してみましたシェルスクリプト私は別のシェルスクリプトから値を取得しようとしている別のシェルスクリプト
で変数に代入。しかし、
BundleVersion= $(sh VersionNumberScript $(PLISTPATH))
が、私はそこではありませんあなたは=
後に余分なスペースを持っている上記のコマンド
からの値を持つ変数の割り当てと、私は以下のコマンドを使用してみましたシェルスクリプト私は別のシェルスクリプトから値を取得しようとしている別のシェルスクリプト
で変数に代入。しかし、
BundleVersion= $(sh VersionNumberScript $(PLISTPATH))
が、私はそこではありませんあなたは=
後に余分なスペースを持っている上記のコマンド
、で間違っているのかを知ることができます働いていません。シェルの代入の構文は次のとおりです。
variable=value
あなたが書く場合
variable= value
それは、環境変数を設定した後、コマンド 『の値を』を実行」の略で
variable='' value
と解釈されます
'variable'を空の文字列に置き換えます。
私はこれを試しましたが、動作しません。スクリプトを実行しようとしているが、変数に割り当てられていない場合 – Icoder
@Icoder:このコマンドを実行しているシェルについて言及していないと、診断は難しい。以下が適用されます(bashの場合)。まず、PLISTPATHという名前のプログラムが(子プロセスで)実行され、その標準出力が収集されます。次に、プログラムVersionNumberScriptが実行され(Posix-ShellまたはBourne Shellのいずれかで、どこにいるかに応じて)、以前に収集された出力をパラメータとして受け取ります。最後に、 'VersionNumberScript'の出力は変数' BundleVersion'に格納されます。 – user1934428
おそらく '$(PLISTPATH)'を '$ PLISTPATH'にしたいと思うでしょう。 – linuxfan
確かに、私はこれに気付かなかった。まあ、 'PLISTPATH'がコマンドでない限り、そうではないようです。 –