sh bash脚本用法,$ sh database_init.sh $ dbname $ dbuser $ dbuserpwd。脚本创建一个新数据库,为用户分配所有previleges和cre

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh bash脚本用法,$ sh database_init.sh $ dbname $ dbuser $ dbuserpwd。脚本创建一个新数据库,为用户分配所有previleges和cre相关的知识,希望对你有一定的参考价值。

#!/bin/bash
green=`tput setaf 2`
reset=`tput sgr0`
red=`tput setaf 1`
ok() { echo $1; }

envf() {
	sed -i '' "s/DB_DATABASE=homestead/${1}/g" .env
	sed -i '' "s/DB_USERNAME=homestead/${2}/g" .env
	sed -i '' "s/DB_PASSWORD=secret/${3}/g" .env
	echo "${green}Successfully modified .env file${reset}";
}

EXPECTED_ARGS=3
E_BADARGS=65
MYSQL=`which mysql`
 
Q1="CREATE DATABASE IF NOT EXISTS $1;"
Q2="GRANT ALL ON *.* TO '$2'@'localhost' IDENTIFIED BY '$3';"
Q3="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}${Q3}"

if [ $# -ne $EXPECTED_ARGS ]
then
  echo "${red}Usage: $0 dbname dbuser dbpass${reset}"
  exit $E_BADARGS
fi
 
$MYSQL -u homestead -psecret -e "$SQL"

ok "Database ${green}$1${reset} and user ${green}$2${reset} created with a password ${green}$3${reset}!"
envf "DB_DATABASE=$1" "DB_USERNAME=$2" "DB_PASSWORD=$3"

以上是关于sh bash脚本用法,$ sh database_init.sh $ dbname $ dbuser $ dbuserpwd。脚本创建一个新数据库,为用户分配所有previleges和cre的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本介绍shell脚本结构和执行date命令用法shell脚本中的变量

shell介绍

Shell脚本介绍脚本结构和执行date命令用法脚本中的变量

linux基础:shell中的sh与bash区别与常用命令

Bash 脚本 set 命令教程

shell脚本介绍shell脚本结构和执行date命令用法shell脚本中的变量