2016-09-19 11 views
0

どのように私は私のDBに接続して、bashの挿入値

でクエリを実行することができ、これはこれまでのところ私のコードです:

echo "estacion: "$st; 
fcha=$year2"-"$month"-"$day; 
echo "fecha: "$fcha; 

echo $archivoF " ==> " $rutabase"datos/obs/"$st"/"$year2"/"$archivoF; 
if [ ! -d $rutabase"datos/obs/"$st"/"$year2 ]; then 
    mkdir -p $rutabase"datos/obs/"$st"/"$year2; 
fi 
mv $archivoF $rutabase"datos/obs/"$st"/"$year2 
IFS='.' read -ra tipoO <<< "$archivoF" 
tipoOb=`echo "."${tipoO[1]}"."${tipoO[2]}` 
query="insert into FILES (name,type,date,station) VALUES($archivoF,$tipoOb,$fcha,$st)" 

echo $archivoG " ==> "$rutabase"rinex/nav/"$st"/"$year2"/"$archivoG; 
if [ ! -d $rutabase"datos/nav/"$st"/"$year2 ]; then 
mkdir -p $rutabase"datos/nav/"$st"/"$year2; 
fi 
mv $archivoG $rutabase"datos/nav/"$st"/"$year2 
IFS='.' read -ra tipoN <<< "$archivoG" 
tipoNa=`echo "."${tipoN[1]}` 
query="insert into FILES (name,type,date_f,station) VALUES($archivoG,$tipoOb,$fcha,$st)" 

任意の提案

+0

mysql -e "query string" – Barmar

+0

文字列の値を引用符で囲んでください。 – Barmar

+0

なぜあなたの割り当てで 'echo'を使用しますか? 'tipoOb =。$ {tipoO [1]}' – Barmar

答えて

0

を実行するにはスクリプトからクエリを実行するには、-eオプションを指定してmysqlコマンドを使用します。

query="insert into FILES (name,type,date,station) VALUES('$archivoF','$tipoOb','$fcha','$st')" 
mysql -h dbhost -u dbuser -ppassword dbname -e "$query" 

クエリの文字列である値を引用符で囲んでください。