簡體   English   中英

如何為MySQL制作Bash插入腳本

[英]How to make a Bash insert script for MySQL

我已經嘗試了兩天,以制作一個簡單的腳本,該腳本將參數(查詢)提供給mysql -e以使其執行。 但是由於某種原因,我不能在腳本內使用mysql -e ,這是我的測試:

我可以成功地在bash中運行以下行:

mysql -u abrouze -p simubase -e "insert into Processing values(1,2,3,'coca cola')"

需要特別注意的是,我需要在值中傳遞帶有空格的完整字符串。

現在,這是我的腳本:

#!/bin/bash
req="\"$1\""
echo $req
mysql -u abrouze -p simubase -e $req

在這里將引號轉義,因此$ req實際上被引號包圍,並且不起作用。

跟蹤:

brouze@lasb-ida:~$ ./myrage.sh "insert into Processing values(1,2,3,'huge bear')"
"insert into Processing values(1,2,3,'huge bear')"

mysql  Ver 14.14 Distrib 5.5.35, for debian-linux-gnu (x86_64) using readline 6.2
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

在此之后,幫助文本牆。

在我看來,這絕對是微不足道的,我絕對不知道它怎么行不通...

您可以為此使用heredoc ,腳本如下:

#!/bin/bash
mysql -u abrouze -p simubase << EOF
$1
EOF

然后像以前一樣調用您的腳本:

./myrage.sh "insert into Processing values(1,2,3,'huge bear');"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM