if [ $? -ne 0 ] if [ $? -eq 0 ]
时间: 2023-12-28 21:06:07 浏览: 23
这是两个条件判断语句,用于判断上一条命令的执行状态。
`if [ $? -ne 0 ]` 表示如果上一条命令的退出状态码不等于0,则执行下一条语句。
`if [ $? -eq 0 ]` 表示如果上一条命令的退出状态码等于0,则执行下一条语句。
请注意,`$?` 是一个特殊变量,表示上一条命令的退出状态码。0表示成功执行,非0表示执行失败。
相关问题
if [ $# -eq 0 -o "$1" == "-h" -o "$1" == "-help" -o "$1" == "--help" ]; then usage if [ $# -ne 1 ]; then exit 1 fi exit 0 fi
这段代码是一个 shell 脚本中的一个 if 判断块,它的作用是实现脚本的帮助信息和参数检查。具体来说,该代码会先检查脚本是否没有任何参数或者第一个参数是 `-h`、`-help` 或 `--help`。如果是,则调用 `usage` 函数显示帮助信息,并根据实际参数个数决定是否退出脚本。
如果脚本有参数且第一个参数不是 `-h`、`-help` 或 `--help`,则该代码块不会执行。如果该代码块执行了,则说明用户需要获得脚本的帮助信息或者提供了无效的参数。
其中,`$#` 表示脚本的参数个数,`-eq` 表示等于,`-o` 表示或者,`$1` 表示脚本的第一个参数,`==` 表示等于。`usage` 函数是一个显示脚本使用方法的函数,`exit` 命令用于退出脚本并返回给调用者一个状态码,通常 0 表示成功,非 0 值表示错误。
#!/usr/bin/env bash echo "此脚本用于yum 安装mysql" if [[ $UID -ne 0 ]];then echo "使用root 执行此脚本" exit 1 fi if [[ $# != 1 ]];then echo "Usage script (5.5|5.6|5.7|8.0)" exit 123 fi echo "清理环境" systemctl stop mysqld mariadb &>/dev/null yum erase -y `rpm -qa |grep mariadb` 2>/dev/null yum erase -y `rpm -qa |grep mysql` 2>/dev/null rm -rvf /etc/my.cnf /var/lib/mysql /var/log/mysql* userdel -rf mysql &>/dev/null ping -w3 www.baidu.com &>/dev/null if [[ $? -eq 0 ]];then yum install -y wget yum-utils &>/dev/null if [[ $? -ne 0 ]];then echo "yum 配置错误" exit 110 fi yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm yum clean all yum makecache fast else echo "网络错误" exit 22 fi case $1 in 5.5) yum-config-manager --disable mysql80-community yum-config-manager --enable mysql55-community ;; 5.6) yum-config-manager --disable mysql80-community yum-config-manager --enable mysql56-community ;; 5.7) yum-config-manager --disable mysql80-community yum-config-manager --enable mysql57-community ;; 8.0) : ;; *) yum repolist all |grep mysql echo "其他版本可自行选择下载并配置" exit 13 ;; esac sleep 2 yum -y install mysql-community-server systemctl start mysqld echo "启动成功,初始密码如下(mysql5.7前版本没有初始密码)" grep -o 'root@localhost.*' /var/log/mysqld.log echo "安装完成" 优化以上这段脚本
这段脚本是用于在 Linux 系统上使用 yum 安装 MySQL 数据库的。脚本首先清理环境,停止已经运行的 MySQL 或 MariaDB 服务,并删除相关的文件和用户。然后通过检测网络连接状态,安装必要的工具和 MySQL 的 yum 源。根据用户指定的版本号,选择对应的 yum 源,并使用 yum 安装 MySQL。最后启动 MySQL 服务,并输出初始密码。这个脚本执行前需要以 root 用户身份执行,并且需要传递 MySQL 版本号作为参数。
阅读全文