个人工具
登录
查看“Shell编程基础”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“Shell编程基础”的源代码
来自Ubuntu中文
←
Shell编程基础
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
=== case 语句 === case表达式可以用来匹配一个给定的字符串,而不是数字(可别和C语言里的switch...case混淆)。 <source lang="bash"> case ... in ...) do something here ;; esac </source> file命令可以辨别出一个给定文件的文件类型,如:file lf.gz,其输出结果为: <source lang="bash"> lf.gz: gzip compressed data, deflated, original filename, last modified: Mon Aug 27 23:09:18 2001, os: Unix </source> 我们利用这点写了一个名为smartzip的脚本,该脚本可以自动解压bzip2, gzip和zip 类型的压缩文件: <source lang="bash"> #!/bin/bash ftype="$(file "$1")" case "$ftype" in "$1: Zip archive"*) unzip "$1" ;; "$1: gzip compressed"*) gunzip "$1" ;; "$1: bzip2 compressed"*) bunzip2 "$1" ;; *) echo "File $1 can not be uncompressed with smartzip";; esac </source> 你可能注意到上面使用了一个特殊变量 {{code|$1}},该变量包含有传递给该脚本的第一个参数值。也就是说,当我们运行: <source lang="bash"> smartzip articles.zip </source> {{code|$1}} 就是字符串 articles.zip。
返回至
Shell编程基础
。