返回介绍

5.9. Shell

发布于 2024-02-07 20:47:54 字数 1699 浏览 0 评论 0 收藏 0

5.9. Shell

5.9.1. 简介

Shell 是一个特殊的程序,是用户使用 Linux 的桥梁。Shell 既是一种命令,又是一种程序设计语言。

Linux 包含多种 Shell ,常见的有:

  • Bourne Shell(ATT的Bourne开发,名为sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(Bill Joy开发,名为csh)
  • K Shell(ATT的David G.koun开发,名为ksh)
  • Z Shell(Paul Falstad开发,名为zsh)

5.9.2. 元字符

shell一般会有一系列特殊字符,用来实现的一定的效果,这种字符被称为元字符(Meta),不同的Shell支持的元字符可能会不相同。

常见的元字符如下:

  • IFS 由 <space> 或 <tab> 或 <enter> 三者之一组成
  • CR 由 <enter> 产生。
  • = 设定变量
  • $ 作变量或运算替换
  • > 重定向 stdout
  • >> 追加到文件
  • < 重定向 stdin
  • | 命令管道
  • & 后台执行命令
  • ; 在前一个命令结束后,执行下一个命令
  • && 在前一个命令未报错执行后,执行下一个命令
  • || 在前一个命令执行报错后,执行下一个命令
  • ' 在单引号内的命令会保留原来的值
  • " 在双引号内的命令会允许变量替换
  • ` 在反引号内的内容会当成命令执行并替换
  • () 在子Shell中执行命令
  • {} 在当前Shell中执行命令
  • ~ 当前用户的主目录
  • !number 执行历史命令,如 !1

5.9.3. 通配符

除元字符外,通配符(wildcard)也是shell中的一种特殊字符。当shell在参数中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行替换,否则就将该通配符作为一个普通字符直接传递。

常见的通配符如下:

  • * 匹配 0 或多个字符
  • ? 匹配任意一个字符
  • [list] 匹配 list 中的任意一个字符
  • [!list] 匹配除 list 外的任意一个字符
  • [a-c] 匹配 a-c 中的任意一个字符
  • {string1,string2,...} 分别匹配其中字符串

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文