"export VAR=thing && someCommand"は、"エクスポート: '&&': 有効な識別子ではない"を報告します。

"export VAR=thing && someCommand"は、"エクスポート: '&&': 有効な識別子ではない"を報告します。

環境変数を設定し、次のように1行でコマンドを実行しようとしています。

export PUB_CACHE=/app/src/.pub-cache && dart-sdk/bin/dart server.dart

(理由は尋ねないでください。複雑です。)

他の人のスクリプトによって呼び出されると、次のように失敗します。

export: `&&': not a valid identifier6:44 PM
export: `dart-sdk/bin/dart': not a valid identifier6:44 PM
export: `server.dart': not a valid identifier

残りの行全体がエクスポートに渡されるようです。これはコマンドの実行方法によるものであり、修正することはできませんが、Linuxの理解が不足している可能性があります。

私の注文に問題がありますか?これら2つのタスクを別々に簡単に実行できますか?

答え1

次のように問題を解決しました。

env PUB_CACHE=/app/src/.pub-cache dart-sdk/bin/dart server.dart

そうでなければ

PUB_CACHE=/app/src/.pub-cache dart-sdk/bin/dart server.dart

最後にコマンドを渡すことができることを知りませんでした。

関連情報