Shell 基础命令语法
因为工作要用到shell自动部署一个项目,所以今天我们先来研究一下shell的基础命令。#!/bin/bash # 上面这个shell脚本的头,每门语言都有自己的头字符串echo "hello" echo "hi" # 变量 num="我是变量" echo $num num1=10 num2=50 #env env是读取环境变量 # 读取进程 echo "进程号:$0" echo "进程号:$$" # ``这个符号执行变量 echo `date` # 转义字符 加上-e才行 echo -e "你好啊\n成都"判断和if条件语句# 判断 test $num1 -eq $num2 echo "相等:$?" # 条件判断 if [ $num1 = 10 ]; then echo "这是等于10" else echo "默认" fi文件夹和文件基础创建# 创建文件夹,文件系列 dirName="aaa" if [ -e $dirName ]; then echo "文件夹存在,即将进入文件夹" cd $dirName echo "创建一个文件名字叫 a.txt" touch a.txt else echo "文件夹不存在,创建该文件夹" mkdir $dirName echo "进入文件夹,然后创建文件a.txt" cd $dirName touch a.txt fi用户交互# 读取键盘输入的内容,用户交互 read -p "请输入文件夹的名字:" dirFileName if [ -e $dirFileName ]; then echo "存在该文件夹" else mkdir $dirFileName fi # 命令选择 read -p "请输入y创建文件夹,n直接退出:" yes if [ $yes = "y" ]; then mkdir haaha elif [ $yes = "n" ]; then echo "退出了" ficase语句# case语句 read -p "请输入yes/no:" choice case $choice in yes | y* | Y*) echo "输入了yes" ;; no | n* | N*) echo "输入了no" ;; *) echo "输入了其他" ;; esacfor循环# for循环 declare -i sum=0 declare -i i=0 for (( i=0; i<=100; i++ )) do sum=$sum+$i; done echo "sum=$sum" for i in 1 2 3 4 5 do sum=$sum+$i; done echo "sum=$sum" # 扫描文件 for fileName in `ls` do if [ -d $fileName ]; then echo "$fileName是文件夹" elif [ -f $fileName ]; then echo "$fileName是文件" fi done函数# 函数 function getMax() { if [ $1 -gt $2 ]; then return $1 else return $2 fi } read -p "请输入数值1:" data1 read -p "请输入数值2:" data2 # 函数调用 getMax $data1 $data2 echo "$data1和$data2的最大值为:$?"
查看详情点赞2评论收藏浏览902023-06-27 15:44:37shell脚本读取PHP文件数组的值,放到shell变量中使用方法
今天在用shell执行PHP文件,需要读取PHP数组中的一些值的时候。遇到了问题,找了很多资料,最后问了AI。经常一翻和AI的纠缠。终于给了我正确的答案,整理如下。事实证明AI真强大。PHP文件中的数组:web_data.php<?php $web_data = [ "port"=>"10764", "secret"=>"LU2DuzNpi94Ff8jastAscGvv2HbGK2UJ", "mainDoain"=>"lxl.petuu.shop", "domain"=>"", 'mysqlUser' => "userName", 'mysqlPassword' => "gehrht1646", ]; return $web_data;shell脚本中写法:projectName=$(php -r 'include "web_data.php"; echo $web_data["mainDoain"];') echo $projectName搞定
查看详情点赞2评论收藏浏览1302023-06-29 16:24:24shell 创建conf文件,并写入内容(shell创建nginx vhost配置文件)
点赞评论收藏浏览782023-06-30 14:56:24安装宝塔后,连接mysql的root账户
问题:用宝塔安装mysql数据库,本地navicat 连接数据库 root 用户 连接不上原因:宝塔安装的数据库root 用户默认不可以远程连接解决方法:用命令行工具连接到服务器中用命令行的方式连接上数据库,然后修改数据库的mysql 中的user 数据表 把host 列修改为 % 就可以了注:这个权限信息实际上存储在mysql 数据库 里面有一个数据库叫做mysql 数据库里面有一张表叫user user 里面存储的就是各个用户的信息,包括是不是可以远程连接所以修改这个表的root 用的 host 为 % 就可以了, %代表所有 ip 都可以登录这个用户1、登录MySQL数据库mysql -u root -p2、切换mysql数据库use mysql3、修改mysql 数据库user 表的信息update mysql.user set Host = '%' where User = 'root' and Host = 'localhost';4、刷新MySQL缓存//flush privileges; FLUSH PRIVILEGES;这样就可以直接连接到MySQL的root账号了。参考文章: https://blog.csdn.net/qq_38296051/article/details/120784872
查看详情点赞评论收藏浏览952024-12-03 09:34:58TiDB单机版简易安装和连接访问
tidb的单机简易版安装,方法有好几种。记录一种相对简单的一种,仅供测试。想系统学习的可以用TiUP Playground安装单机版,或者安装集群。1、下载tidbwget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz2、解压tar -zxvf tidb-latest-linux-amd64.tar.gz3、启动pd,tikv,tidb,(可以直接启动,也可以nohup启动)nohup ./bin/pd-server --data-dir=pd --log-file=pd.log & nohup ./bin/tikv-server --pd="127.0.0.1:2379" --data-dir=tikv --log-file=tikv.log & nohup ./bin/tidb-server --store=tikv --path="127.0.0.1:2379" --log-file=tidb.log &4、命令链接mysql -h 127.0.0.1 -P 4000 -u root 5、简单命令操作show databases; select tidb_version(); select version(); //查询用户 select user,host from mysql.user; //修改root用户密码 ALTER USER 'root'@'%' IDENTIFIED BY 'xxx'; //命令带密码连接 mysql -h 127.0.0.1 -P 4000 -u root -p6、外部工具连接
查看详情点赞评论收藏浏览622024-12-03 10:01:31