欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > linux >内容正文

linux

Linux shell编程(二):shell语法

发布时间:2025/4/16 linux 2 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Linux shell编程(二):shell语法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

shell 语法

shell 执行命令操作

当shell读取输入时,它将执行一系列操作。如果输入表示注释的开头,则shell将忽略注释符号('#')和该行的其余部分。

shell 读取和执行命令时将经过下列操作:

  • 从一个文件(Shell脚本)中读取它的输入,从作为参数的字符串到 “-c” 调用选项(调用Bash),或者从用户的终端。
  • 将输入拆分为单词和操作符,遵守所描述的引用规则。这些标记由“元字符”分隔。此步骤执行别名扩展。
  • 将令牌解析为简单的复合命令。
  • 执行各种shell扩展,将扩展令牌分解为文件名、命令和参数列表。
  • 执行任何必要的重定向,并从参数列表中删除重定向操作符及其操作数。
  • 执行命令
  • 可选地等待命令完成并收集其退出状态。
  • 引用(Quoting)

    引用被用来去除某些字符或单词对shell的特殊意义。引用可用于禁用特殊字符的特殊处理,防止保留字被识别,并防止参数扩展。每个shell元字符对于shell都有特殊的意义,必须引用它来表示自己。

    • 有三种引用机制:转义字符、单引号和双引号。

    转义字符

    一个非引用的反斜杠“\”是Bash转义字符。它保留下一个字符的文字值。
    用途:

  • 将普通字符转为特殊用途,用于表示不能直接显示的字符,比如后退键,回车键,等。
  • 用来将特殊意义的字符转换回它原来的意义。
  • 单引号

    单引号通常以以'开头以'结尾,常在两个单引号之间存储字符串。单引号不能出现在使用单引号闭合的表达式中,例如:a=' I'm so hot';系统将会报错。可以使用转义字符将单引号转义,例如:a='i\'m so hot';上列语句将不会报错。

    双引号

    与单引号类似,双引号亦可以用来存储字符串,双引号必须转义才能存在与表达试中,单引号可以之间使用,当双引号内出现" $ "符号时,shell会试图解释该变量或表达式,以$到其后面单词为变量名称。而单引号则不会解释变量和表达式

    注释

    shell 以“ # ” 为注释符号。常用于shell文件(shell脚本中),当文件某一行出现符号“#”时,“#”后面一直到行尾,将会被shell忽略。

    命令的语法

    在shell中,命令格式为:命令+参数,命令和参数使用空格分隔,参数和参数也使用空格分隔开来。
    如:

    echo 1 2 3 4 5

    查看命令帮助信息

  • 使用参数 -h | --help.在shell中大多数命令都支持:命令 --help|-h 来查看命令的使用说明
  • 使用man命令:man命令可以查看命令的man手册的详细信息。
  • 使用whatis:whatis用来显示命令的描述
  • 查看shell内置命令(builtin)的使用帮助

    使用help命令可以查看内置命令的使用帮助
    显示构建命令的简短摘要。如果指定了模式,则在所有命令匹配模式上提供详细的帮助,否则将打印帮助主题列表。

    如:

    [root@localhost ~]# help true true: trueReturn a successful result.Exit Status:Always succeeds. [root@localhost ~]#

    使用info命令查看信息格式文档

    使用info命令可以查看命令的详细信息文档,如bash,gawk,sed,grep等命令都可以使用info命令查看其详细使用文档。

    转载于:https://blog.51cto.com/jlnetc/2082817

    总结

    以上是生活随笔为你收集整理的Linux shell编程(二):shell语法的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。