`
下溪下
  • 浏览: 10237 次
社区版块
存档分类
最新评论

shell中符号的意义

 
阅读更多
各种括号的用法总结如下

1.Shell中变量的原形:${var}

大家常见的变量形式都是$var

2.命令替换$(cmd)

命令替换$(cmd)和符号`cmd`(注意这不是单引号,在美式键盘上,`是ESC下面的那个键)有相同之处

3.一串的命令执行()和{}

()和{}都是对一串的命令进行执行,但有所区别:

A,()只是对一串命令重新开一个子shell进行执行

B,{}对一串命令在当前shell执行

C,()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开

D,()最后一个命令可以不用分号

E,{}最后一个命令要用分号

F,{}的第一个命令和左括号之间必须要有一个空格

G,()里的各命令不必和括号有空格

H,()和{}中括号里面的某个命令的重定向只影响该命令,但括号外的重定向则影响到括号里的所有命令

4,几种特殊的替换结构:${var:-string},${var:+string},${var:=string},${var:?string}

5.POSIX标准的扩展计算:$((exp))

这种计算是符合C语言的运算符,也就是说只要符合C的运算符都可用在$((exp)),甚至是三目运算符和for语句。

注意:这种扩展计算是整数型的计算,不支持浮点型.若是逻辑判断,表达式exp为真则为1,假则为0。

6.四种模式匹配替换结构:${var%pattern},${var%%pattern},${var#pattern},${var##pattern}

这四种结构的意义是:${var%pattern}和${var%%pattern}表示从最右边(即结尾)匹配的,${var#pattern} 和${var##pattern}从最左边(即开头)匹配的。其中${var%pattern}和${var#pattern}是最短匹配,${var%%pattern}和${var##pattern}是最长匹配。只有在pattern中使用了通配符才能有最长最短的匹配,否则没有最长最短匹配之分。

7.[ 和 [[

$ type [ [[ test

[ is a shell builtin

[[ is a shell keyword

test is a shell builtin

各种引号的用法总结如下

1、 单引号 ‘

由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释。

2、 双引号 “

由双引号括起来的字符,除$、\、’、和”这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。对于$来说,就是用其后指定的变量的值来 代替这个变量和$;对于而言,是转义字符,它告诉shell不要对其后面的那个字符进行特殊处理,只当作普通字符即可。可以想见,在双引号中需要在前面加 上的只有四个字符$,,’和”本身。而对”号,若其前面没有加,则Shell会将它同前一个”号匹配。

3、 反引号 `

反引号(`)这个字符所对应的键一般位于键盘的左上角,不要将其同单引号(’)混淆。反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。[size=large][/size]
分享到:
评论

相关推荐

    shell 特殊符号含义

    整理常见的shell特殊符号的含义及应用

    Shell脚本中的特殊字符(美元符、反斜杠、引号等)作用介绍

     大家可能已经看出 $符号在双引号中具有特殊意义 双引号对$符号不起作用 而单引号可以将特殊字符的的特殊意义屏蔽掉,使其能显示为字符本身,反斜 杠也可以将特殊字符的特殊含义屏蔽掉,使特殊字符失去特殊含义...

    shell编程基础

    本文终结了正则表达式的字符转义,字符匹配方式,修饰匹配次数的特殊符号其他一些代表抽象意义的特殊符号,和正则表达式的高级应用

    shell–awk(文本三剑客之一)

    符号 意义 ? 匹配0个或1个在其之前的字符 + 匹配一个或多个在其之前的字符 ( ) 表示一个字符集合或用在expr中 竖线 表示或,匹配一组可选的字符 awk模式匹配 1.将模式和动作写在terminal里面 后面接一...

    shell编程—-awk

    符号 意义 ? 匹配0个或1个在其之前的那个普通字符 + 匹配1个或多个在其之前的那个普通字符 () 表示一个字符集合或用在expr中 | 表示“或”,匹配一组可选的字符 “?”   匹配之前那个字符0次或1...

    shell脚本之正则表达式、grep、sed、awk

    只代表点本身,转义符号,让有特殊身份意义的字符,脱掉马甲,还原 \n ##换行符 \r ##匹配回车 \w ##匹配任意一个字符和数字 * ##重复0次或多次前面的一个字符 .* ##匹配所有字符。例:^.* 以任意多个字符开头...

    php的快速入门小高手

    数学运算: 符号 意义 + 加法运算 - 减法运算 * 乘法运算 / 除法运算 % 取余数 ++ 累加 -- 递减 字符串运算: 运算符号只有一个,就是英文的句号。它可以将字符串连接起来,变成合并的新字符串。...

    Linux C程序设计大全

    第1篇 Linux下C语言基础 第1章 Linux简介 1.1 GNU简介 1.2 Linux简介 1.2.1 Linux发展史 1.2.2 Linux发行版 1.2.3 Linux内核版本 1.2.4 Linux与UNIX的关系 1.2.5 Linux在服务器方面...第28章 shell脚本中的控制结构 844

    Linux高级bash编程

    将目录中的符号连接文件名保存到一个文件中 10-12. 一个C风格的for循环 10-13. 在batch mode中使用efax 10-14. 简单的while循环 10-15. 另一个while循环 10-16. 多条件的while循环 10-17. C风格的while循环 10-18. ...

    Advanced Bash-Scripting Guide <>

    将目录中的符号连接文件名保存到一个文件中 10-12. 一个C 风格的for 循环 10-13. 在batch mode 中使用efax 10-14. 简单的while 循环 10-15. 另一个while 循环 10-16. 多条件的while 循环 10-17. C 风格的while 循环...

    详解Linux中正则表达式的应用

    \ :通常用于打开或关闭后续字符的特殊含义,如(…)【\是转义字符,去掉符号的特殊意义,()、{}等在shell中都有特殊的意义】 .和以及.的区别: [root@localhost ~]# cat -n test.txt  1 gd  2 god  3  4 ...

    高级UNIX编程 pdf 电子书

    本书以当前UNIX规范为基础,详细介绍了UNIX系统函数的用法,并用大量的代码和示例程序进行演示,对实际编程具有指导意义。全书共9章,内容包括:基本概念、基本文件I/O、高级文件I/0、终端I/O、进程与线程、基本...

    ARM_Linux启动分析.pdf

    S和s意义相同,表示单用户模式,且无需inittab文件,因此也不在inittab中出现,实际上,进入单用户模式时,init直接在控制台(/dev/console)上运行/sbin/sulogin。 在一般的系统实现中,都使用了2、3、4、5几个...

    钩子函数的使用,有例子

    HC_ACTION的意义:参数wParam 和lParam 包含了键盘敲打消息的信息,HC_NOREMOVE的意义:参数wParam 和lParam包含了 键盘敲打消息的信息,并且,键盘敲打消息一直没有从消息队列中删除。(应用程序调用PeekMessage函数...

    PowerShell中直接输出转义字符或变量名称的方法

    而变量则是以符号($)开头,代表一个值。之前的文章中我们介绍过转义字符,也介绍过在字符串中包含变量。有兴趣的朋友可以去了解一下。 在PowerShell中可以用一对双引号引起一个字符串,也可以使用一对单引号引起一...

    dotfiles:我的适用于macOS和Linux的.files

    文件可以保存在存储库中的任何位置,并在系统上正确的不同位置与实际文件符号链接。 如果您有兴趣,请在此发布更多内容: 新增档案 要添加新的.file(或与此相关的任何其他配置文件),请执行以下操作: 将现有...

    .config:蒂姆·克利福德(Tim Clifford)的配置文件

    我使用自己的键盘布局(基于colemak),因此这里的许多映射对于大多数人来说都没有意义。组织此仓库中的所有内容(应存在于$HOME/.config )都将进行跟踪,所有以。开头的内容都将被跟踪。 通过install.sh被符号...

    复旦nois教材01.rar

    2.2.8 把符号(symbol)加入到BDF文件中...............................................................24 2.2.9 加入引脚和基本单元............................................................................

    网管教程 从入门到精通软件篇.txt

    如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart  创建和删除硬盘...

Global site tag (gtag.js) - Google Analytics