shell脚本随笔(参数、变量相关)

1、解压后获取包名作为参数赋值给变量

例:现有压缩包mysql.zip,使用shell脚本解压,并将包名mysql作为参数赋值给变量

创建shell脚本

vim mysql.sh
#!/bin/bash
unzip $1
fileName=$(basename $1 .zip)
echo "$fileName"

执行脚本

sh mysql.sh mysql.zip #将mysql.zip作为参数1输入

可以得到结果是: mysql

主要用途在于去掉文件名的后缀并赋值给变量,可以实现自动化部署

2、判断此容器名是否有mysql容器存在,如果存在,则删除

containerNameExits=`docker ps -a | awk {'print $NF'} | grep mysql`
  if [ "$containerNameExits" != "" ]; then
  echo -e "\033[31m 有 mysql 的容器存在,,,执行删除操作。。。"
  docker rm -f mysql
    if [ $? -ne 0 ]; then
    echo -e "\033[31m rm docker  容器 fail ........  \033[0m"
    exit 1
    fi
  fi

3、读取用户输入,并做Y/N判别并执行对应的语句

read -p "是否执行Y/N:" answer
case $answer in

Y | y)

  echo "hello yes"

N | n)

  echo "NO NO NO"

*)

echo "error choice";;

esac

exit 0

4、默认参数,有输入则覆盖

#!/bin/bash
num="500"
if [ "$1" != "" ]; then
  num=$1
fi
echo "$1"

你可能感兴趣的:(linux,bash,shell,运维)