shell指令碼運算元據庫插入資料

2021-09-03 07:33:01 字數 3469 閱讀 4558

主方法:定義變數,呼叫函式。

shell中的特殊變數

$#:指令碼輸入引數的個數

$? 上個命令的退出狀態,或函式的返回值

$$ 當前shell程序id。對於 shell 指令碼,就是這些指令碼所在的程序id

$0:當前指令碼的檔名

$n 傳遞給指令碼或函式的引數。n 是乙個數字,表示第幾個引數。例如,第乙個引數是$1,第二個引數是$2

$@:指令碼輸入的所有引數

$* 傳遞給指令碼或函式的所有引數

$* 和 $@ 都表示傳遞給函式或指令碼的所有引數,不被雙引號(" 「)包含時,都以」$1" 「2"…

"2" … "

2"…"

n」 的形式輸出所有引數。

但是當它們被雙引號(" 「)包含時,」$*" 會將所有的引數作為乙個整體,以"$1 $2 … n"的

形式輸出

所有引數

;"

n"的形式輸出所有引數;"

n"的形式輸

出所有參

數;"@" 會將各個》引數分開,以"$1" 「2"…

"2" … "

2"…"

n」 的形式輸出所有引數。

#------------------------------main--------------------------------

basepath=

`pwd

`log_file=

$/add_user.log

db_name=

"test"

#this role_id is admin.

role_id=

"402880cd5f1a685f015f1a6969500017"

secret_level=

"0"#1:can login.2:can not.

state=

"1"user_name=

""user_name_zh=

""if

[ -f "$log_file"];

then

rm -f $log_file

fiif

["$#" -gt 0 ]

;then

for user in

"$@"

do uid=

`uuidgen |

sed's/-//g'

` user_name=

$user

user_name_zh=

$user

add_user

done

else

echo

"usage: sh add_user.sh user1 user2 user3 ..."

exit -1

fi

新增使用者

首先判斷作業系統是否存在此使用者,若不存在,則報錯。若存在,則檢查資料庫中是否存在此使用者,若資料庫中存在,則提示資料庫已經存在此使用者,若資料庫不存在則插入資料庫。

function add_user(

)

判斷使用者是否存在於作業系統

function check_user_os(

)

判斷使用者是否存在於db

通過查詢資料表來進行判斷

function check_user_db(

)

查詢資料表中是否存在使用者

function select_user_db(

)

插入使用者,並賦予許可權

eof是end of file的縮寫,表示自定義終止符.既然自定義,那麼eof就不是固定的,可以隨意設定別名,在linux按ctrl-d就代表eof.

eof一般會配合cat能夠多行文字輸出.

其用法如下:

)列印日誌

function write_log(

)

完整**

#!/bin/bash

function write_log(

)function check_user_os(

)function select_user_db(

)function check_user_db(

)function add_user(

)#if mysql db has a password, use this command.

#mysql -utest -ptest test

function insertdb(

)#------------------------------main--------------------------------

basepath=

`pwd

`log_file=

$/add_user.log

db_name=

"test"

#this role_id is admin.

role_id=

"402880cd5f1a685f015f1a6969500017"

secret_level=

"0"#1:can login.2:can not.

state=

"1"user_name=

""user_name_zh=

""if

[ -f "$log_file"];

then

rm -f $log_file

fiif

["$#" -gt 0 ]

;then

for user in

"$@"

do uid=

`uuidgen |

sed's/-//g'

` user_name=

$user

user_name_zh=

$user

add_user

done

else

echo

"usage: sh add_user.sh user1 user2 user3 ..."

exit -1

fi

賦:批量建立linux使用者

#!/bin/bash

_name=user

_passwd=111111

i=1while

[$i -lt 10 ];do

_username=

$_name

$i$_username

echo

echo

$_passwd

|passwd --stdin $_username

i=$(( $i +1))

done

Linux 編寫shell指令碼運算元據庫執行sql

在公升級應用時,我們常常會遇到公升級資料庫的問題,這就涉及到sql指令碼的編寫。一般我們會通過寫sql指令碼,然後將 sql指令碼放到資料庫中進行source sql執行。本篇文章,我們可以通過寫shell指令碼來執行資料庫操作。建立 test sql.properties 作為shell指令碼的外...

python運算元據庫指令碼

import pymysql class operationmysql 資料庫sql相關操作 import pymysql db pymysql.connect localhost testuser test123 testdb cursor db.cursor cursor.execute sel...

運算元據庫

python importmysqldb defmydbtest conn mysqldb.connect host localhost user root passwd sa db b4img charset utf8 cursor conn.cursor sql select from imag...