LinuxShell脚本基础 6-case...esac的使用和通配符

1、case...esac的使用

#!/bin/bash
echo "请输入编号 选择不同的显示文件和目录方式:"
echo "1 - 普通显示"
echo "2 - 详细显示"
echo "3 - 显示隐藏文件"
echo "4 - 退出"
read num1

case $num1 in
        1) ls ;;
        2) ls -l ;;
        3) ls -la ;;
        4) exit ;;
esac

2、通配符

#!/bin/bash
echo "请输入要解压的文件名"
read file1

case "${file1##*.}" in
        gz)
                tar -xzvf ${file1}
                ;;
        zip)
                unzip ${file1}
                ;;
        *)
                echo "很抱歉,无法解压这种格式"
                exit
                ;;
esac

${file1##*.} 字符串的截取,意思就是截取文件名"."之后的字符串
例如: test.gz 截取后 为 gz , test.zip截取后为 zip

* 通配符, 表示 0或者0以上的全部匹配

mkdir test
zip test.zip test
tar -czf test.tar.gz test

时间: 2024-11-02 21:11:32

LinuxShell脚本基础 6-case...esac的使用和通配符的相关文章

Linux-shell脚本基础

本章内容 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言: 低级:汇编 高级: 编译:高级语言-->编译器-->目标代码 java,C# 解释:高级语言-->解释器-->机器代码 shell, perl, python 编程基本概念 编程逻辑处理方式: 顺序执行

Linuxshell脚本基础

编程基础?Linus:Talk is cheap, show me the code?程序?程序:算法+数据结构?数据:是程序的核心?数据结构:数据在计算机中的类型和组织方式?算法:处理数据的方式 程序编程风格:过程式:以指令为中心,数据服务于指令对象式:以数据为中心,指令服务于数据?shell程序:提供了编程能力,解释执行 编程基本概念?编程逻辑处理方式:顺序执行循环执行选择执行?shell编程:过程式.解释执行编程语言的基本结构:各种系统命令的组合数据存储:变量.数组表达式:a + b语句:

linux-shell脚本基础-2

1,用户组 添加用户 useradd -u UID -o -g 指定 GID或组名 -c 注释信息 -d 家目录 -s shell -G 附加组 -r 系统用户 -m 家目录,系统用户 -M 不创建家目录,非系统用户 newusers file : 批量创建用户,需要事先准备好跟passwd格式一样的文件 chpasswd : 批量修改用户口令,文件格式:用户名:口令 passwd -l : 锁定指定的用户 -u : 解锁指定的用户 -e :强制用户下次登录时修改密码 usermod -u UI

LinuxShell 脚本for、while、case语句的应用

一.使用for循环语句 1)for 语句的结构 for变量名in取值列表 do 命令序列 done 执行流程: 首先将列表中的第1个取值赋给变量,并执行do--done循环体中的命令序列:然后将列表中的第2个取值赋给变量,并执行循环体中的命令序列--依次类推,直到列表中的所有取值都用完,最后将跳至done语句,表示结束循环. 2) for 语句应用示例 例1:根据姓名列表批量添加用户 首先创建员工列表文件users.txt [[email protected] ~]# vim /root/use

续写vim,shell脚本基础编辑,read命令,if与case判断语句,文件查找方式,压缩与解压,

一. Vim续写 ?1.命令扩展模式的位置定界 ??起始位置 cmd 终止位置???Cmd:????y复制????d删除????Gu变大写????gu变小写??例如:0y$命令意味着:????0 先到行头????Y 从这里开始拷贝????$ 拷贝到本行行尾最后一个字符????Ye 从当前位置拷贝到本单词的最后一个字符 ?2.扩展命令模式:地址定界 ? ?# 具体第#行,? ?#1,#2 从开头数第#1行到第#2行? ?#1,+#2 从开头数的第#1行到从第#1行开始数的第#2行? ? ?例:2,

【Shell脚本学习17】Shell case esac语句

case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构. case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令.case语句格式如下: case 值 in 模式1) command1 command2 command3 ;; 模式2) command1 command2 command3 ;; *) command1 command2 command3 ;; esac case工作方式如上所示.取值后面必须为关键字 in,每一模式

Linux shell脚本基础学习详细介绍(完整版)一

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Linux 脚本编写基础◆1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执

Linux shell脚本基础学习详细介绍(完整版)二

详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续. Linux shell脚本基础已经被分成好几个部分了,这里对控制流程的内容也就马上讲完了,这是最后一部分关于here document,这里举例稍微有点复杂,我们慢慢来分析这个复杂Linux shell脚本. 6. Here documents 当要将几行文字传递给一个命令时,here docu

shell脚本基础进阶(四)----作业

20150913-15作业 1.描述shell程序的运行原理(可附带必要的图形说明) shell脚本基础进阶(一)----shell介绍 2.总结shell编程中所涉及到的所有知识点(如:变量.语法.命令状态等等等,要带图的哟) shell脚本基础进阶(二)----变量及运算符 3.总结课程所讲的所有循环语句.条件判断的使用方法及其相关示例:(if (jpg|png is not exist):echo "You say a XX") shell脚本基础进阶(三)----流程控制语句