Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
mysql $DB_NAME <<EOFMYSQL UPDATE environment SET is_default = CASE WHEN environment='$ENV' THEN 1 ELSE 0 END; EOFMYSQL
更新クエリを実行して更新したいのですが、実行するコードは正しいですか? そして << はシェルスクリプトで何を意味するのですか?なぜ最初の行の後に EOFMYSQL を書くのですか?
表記法は「<<ヒアドキュメント」であり、スクリプト内のテキストからの標準入力を、を含む行の後の行から、 (あなたの例では)<<の後に指定された単語のみからなる行まで提供します。したがって、1 行の UPDATE ステートメントがコマンドへの標準入力です。<<EOFMYSQLmysql
<<
EOFMYSQL
mysql
EOFMYSQL を引用しない場合 (あなたの例のように、シェル変数はヒア ドキュメントで展開されます。引用すると、変数などは展開されないままになります。
求めている値が含まれている場合$ENVは、機能するはずです。
$ENV