コマンド出力を変数に割り当てることはできません。 [重複]

コマンド出力を変数に割り当てることはできません。 [重複]

次のコマンドを含むupdate.shファイルがあります。

shyaml get-value  platform < ~/mcp_version/latest-versions.yaml

端末を介してコマンドを実行でき、スクリプトでもコマンドを実行できます。

以下はスクリプトの内容です

echo "The platform is $now"
echo "PATH is '$PATH'"
platform = $(shyaml get-value  platform < ~/mcp_version/latest-versions.yaml)
echo "The platform is $platform"
shyaml get-value  platform < ~/mcp_version/latest-versions.yaml

ただし、コマンドの出力を変数に割り当てようとするとエラーが発生します。 〜のように

./update.sh: line 12: platform: command not found

以下はスクリプトを実行したときの出力です。

bash-4.2$ ./update.sh 
The platform is Fri Jul 12 11:57:25 IST 2019
PATH is '/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/bin/:/usr/bin/shyaml'
./update.sh: line 12: platform: command not found
The platform is 
19.06.00bash-4.2$ 

ベストアンサー1

正解は@Prvt_Yadvの最初のコメントです。

同等前後の空白除去

無効:

platform = something

正しい:

platform=something

おすすめ記事