我爲sqlite3操作編寫了兩個腳本。在我的第一個腳本中,我創建了數據庫和表名。在第二個腳本中,我創建了表記錄。在執行第二個腳本時,我想要獲取已創建的數據庫並選擇表名稱..請任何人幫助我..!我如何獲取已創建的數據庫和腳本中的表。
script1.sh
#!/bin/bash
echo " --- Enter the Database name ---" #name of the database
read databasename
echo " --- enter the table name --- " #name of the table
read table_name
sqlite3 $databasename.db "DROP TABLE IF EXISTS $table_name;"
sqlite3 $databasename.db "CREATE TABLE IF NOT EXISTS $table_name(cus_id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,cus_name TEXT NOT NULL UNIQUE ,cus_domain TEXT UNIQUE, cus_status TEXT NOT NULL,Port INTEGER NOT NULL);" #table creation
Script2.sh
echo "choose the database"
#Here i want to choose the already create database.
echo "choose the table"
#Here i want to choose the table in the alreadt created database.
echo " --- Enter the total number of customer records do you want ---"
read cus_count # number of rows value
echo "--- Enter the following details one by one---"
RED='\033[0;31m'
NC='\033[0m'
port_num=8080
declare -a customer
for((i=1;i<=cus_count;i++))
do
echo "enter the $i customer details"
echo "---Enter the customer name---"
read c_name
d_name=${c_name,,}
#echo $d_name
customer=$(sqlite3 $databasename.db "select cus_domain from $table_name where cus_domain like '$d_name';")
for cus in "${customer[@]}"
do
if [[ $d_name != $customer ]];
then
echo "---Enter the Status(Active/Inactive)---"
read c_status
if [[ "$port_num" == "$port_num" ]]; then
port_num=$(($port_num + 1))
c_domain="$c_name"
sqlite3 $databasename.db "INSERT OR IGNORE INTO $table_name (cus_name,cus_domain,cus_status, Port) VALUES(\"$c_name\",\"${c_domain,,}\",\"${c_status,,}\",\"$port_num\") ;"
fi
else
echo -e "${RED}!!!OOPS for you entered customer name already domain name assigned!!!${NC}"
echo -e "${RED}Please enter new customer name${NC}"
i=$(($i - 1))
fi
done
done
echo " --- Records from the $table_name ---"
sqlite3 $databasename.db "select * from $table_name;"
請提前任意一個幫助me..Thanks ...
如何寫表名的文件中的第一個腳本'echo -n $ table_name> table_name.txt'並在第二個'table_name = $(cat table_name.txt)' –
中選擇ok.but如何選擇數據庫... ? – Mahendranatarajan
將數據庫名稱寫入第二個文件。或者首先將數據庫名稱寫入文件,然後在同一個文件中追加表名? –