如何编写shell脚本来运行更新查询以及“<<”手段?

时间:2013-10-31 06:31:31

标签: shell unix

mysql $DB_NAME <<EOFMYSQL
UPDATE environment  SET is_default = CASE WHEN environment='$ENV' THEN 1 ELSE 0 END;
EOFMYSQL

我想更新运行我的更新查询是否正确运行代码? 什么&lt;&lt;在shell脚本中意味着我们为什么要在第一行之后编写EOFMYSQL?

1 个答案:

答案 0 :(得分:2)

<<表示法是一个'here document',并提供脚本中文本的标准输入,从包含<<的行之后的行到仅由{之后指定的单词组成的行{1}}(在您的示例中为<<)。因此,单行UPDATE语句是EOFMYSQL命令的标准输入。

当你没有引用EOFMYSQL时(如你的例子所示,那么shell变量会在这里展开。如果你引用它,那么变量等就会保持未展开状态。

如果mysql包含您所追求的值,它应该有用。