快速登录 laravel 项目对应的 mysql 数据库

文章目录

    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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式