查看“Shell编程基础”的源代码
来自Ubuntu中文
←
Shell编程基础
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=== if 语句 === if 表达式如果条件命令组为真,则执行 then 后的部分。标准形式: <source lang=bash>if 判断命令,可以有很多个,真假取最后的返回值 then 如果前述为真做什么 [ # 方括号代表可选,别真打进去了! elif 可以再来个判断,如果签名为假继续尝试这里 then 如果前述为真做什么 ] else 如果全都不行做什么 fi # 结束,就是倒写的 if 啦。</source> 现实生活中一般判断只有一个命令,所以你看到的一般是: <source lang=bash>if ....; then # 你也可以写成 if 之后换行,这样就不用分号了。 .... fi</source> 大多数情况下,可以使用测试命令来对条件进行测试,比如可以比较字符串、判断文件是否存在及是否可读等等……在 bash 中一般采用更好用的 <tt>[[ ... ]]</tt> 语法进行条件测试,而通用方法是 <tt>[ ... ]<tt>(相当于 <tt>test ...</tt>)。两者都接纳的常用测试语句有: ;<tt>-f "filename"</tt>:判断是否是一个文件 ;<tt>-x "/bin/ls"</tt>:判断/bin/ls是否存在并有可执行权限 ;<tt>-n "$var"</tt>:判断 $var 变量是否有值 ;<tt>"$a" == "$b"</tt>:判断$a和$b是否相等 前者可以使用 <tt>help [[</tt> 查询用法,后者使用 <tt>help [</tt> (bash) 或 <tt>man test</tt> 查询。下面的语句用到了这个内容: <source lang=bash>if [ "${SHELL}" == "/bin/bash" ]; then echo "your login shell is the bash (bourne again shell)" else echo "your login shell is not bash but ${SHELL}" fi</source> 变量 <tt>$SHELL</tt> 包含有登录shell的名称,我们拿它和 <tt>/bin/bash</tt> 进行比较以判断当前使用的shell是否为bash。你可能会问了,要是 bash 路径不是这个呢?
返回
Shell编程基础
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息