Linux shell编程:shell语法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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命令可以查看内置命令的使用帮助
显示构建命令的简短摘要。如果指定了模式,则在所有命令匹配模式上提供详细的帮助,否则将打印帮助主题列表。
如:
[[email protected] ~]# help true
true: true
Return a successful result.
Exit Status:
Always succeeds.
[[email protected] ~]#
使用info命令查看信息格式文档
使用info命令可以查看命令的详细信息文档,如bash,gawk,sed,grep等命令都可以使用info命令查看其详细使用文档。
以上是关于Linux shell编程:shell语法的主要内容,如果未能解决你的问题,请参考以下文章