主方法:定義變數,呼叫函式。
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...