Laravel 项目的开发联调阶段,我经常要到服务器上修改 mysql 的表结构。每次打开 .env 文件 copy mysql 用户名及密码,然后复制到 mysql 命令行登陆,非常繁琐。
于是,我写了一个 shell 脚本,可以自动获取 .env 中的 mysql 参数,一键登录 laravel 项目对应的数据库。
#!/bin/bash
source .env
mysql -u$DB_USERNAME -p$DB_PASSWORD -D$DB_DATABASE
脚本置于
/usr/local/bin/mysql_laravel.sh
添加执行权限
chmod +x /usr/local/bin/mysql_laravel.sh
这样每次我只需要 cd 到某个 laravel 项目根目录,执行
mysql_laravel.sh
即可。
source 的作用
当我们执行某个 shell 脚本,采用 ./some_script.sh 的形式时,他会创建自己的 process context,其父进程(调用他的进程)无法获取到脚本中的变量值。
但是如果使用 source 执行,则其父进程也能获取到脚本中的变量。
export 与直接 = 的区别
使用 export 赋值的变量能够被子进程继承,而直接使用 = 的不能。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式