`

shell中的括号 () (()) [] [[]] {}

阅读更多

MARK

//TODO 待验证

http://www.cnblogs.com/gx-303841541/archive/2012/10/25/2740191.html

 

//GOOD 括号 四则运算以及逻辑运算

http://www.cnblogs.com/gx-303841541/archive/2012/10/25/2740195.html

http://hi.baidu.com/linuxj/item/74fa74ffa5d0e8b131c199b6

http://www.cnblogs.com/gx-303841541/archive/2012/10/25/2740324.html

 

http://longzxr.blog.sohu.com/236691585.html(后半部分)

 

 //TODO 验证

有了双括号运算符:[[]],[],test 逻辑运算,已经let,expr 都可以抛到一边了。

(()) 扩展了 扩展四则运算,逻辑原酸,扩展流程控制语句(逻辑关系式)

参见http://www.cnblogs.com/chengmo/archive/2010/10/19/1855577.html

http://www.cnblogs.com/gx-303841541/archive/2012/10/25/2740324.html

 

 

 

 

 

 

shell中括号的特殊用法

Shell中的括号有其特殊的用法, 现总结如下:
1. 符号$后的括号
${a} 变量a的值, 在不引起歧义的情况下可以省略大括号.
$(cmd) 命令替换, 结果为shell命令cmd的输出, 和`cmd`效果相同, 不过某些Shell版本不支持$()形式的命令替换, 如tcsh.
$((exp)) 和`expr exp`效果相同, 计算数学表达式exp的数值, 其中exp只要符合C语言的运算规则即可, 甚至三目运算符和逻辑表达式都可以计算.

2. 多条命令执行

(cmd1;cmd2;cmd3) 新开一个子shell顺序执行命令cmd1,cmd2,cmd3, 各命令之间用分号隔开, 最后一个命令后可以没有分号.
{ cmd1;cmd2;cmd3;} 在当前shell顺序执行命令cmd1,cmd2,cmd3, 各命令之间用分号隔开, 最后一个命令后必须有分号, 第一条命令和左括号之间必须用空格隔开.
对{}和()而言, 括号中的重定向符只影响该条命令, 而括号外的重定向符影响到括号中的所有命令.

3. 双括号的特殊用法

(()) 增强括号的用法, 常用于算术运算比较. 双括号中的变量可以不使用$符号前缀, 只要括号中的表达式符合C语言运算规则, 支持多个表达式用逗号分开.
比如可以直接使用for((i=0;i<5;i++)), 如果不使用双括号, 则为for i in `seq 0 4`或者for i in {0..4}.
再如可以直接使用if (($i<5)), 如果不使用双括号, 则为if [ $i -lt 5 ].
[[]] 增强方括号用法, 常用于字符串的比较. 主要用于条件测试, 双括号中的表达式可以使用&&, ||, <, >等C语言语法.
比如可以直接使用if [[ $a != 1 && $a != 2 ]], 如果不适用双括号, 则为if [ $a -ne 1] && [ $a != 2 ]或者if [ $a -ne 1 -a $a != 2 ].

  • 大小: 28.9 KB
分享到:
评论

相关推荐

    大括号在shell中的使用

    大括号在shell中的使用 大括号在shell中的使用 大括号在shell中的使用 大括号在shell中的使用 大括号在shell中的使用

    shell中的各种括号的使用方法

    在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%...

    shell括号

    shell括号

    一文读懂 Shell 中各种括号的作用.doc

    一文读懂 Shell 中各种括号的作用.doc

    shell中各种括号的作用详解()、(())、[]、[[]]、{}(推荐)

    本文给大家收藏整理了shell中各种括号的作用,非常不错,具有参考借鉴价值,需要的朋友参考下吧

    shell 脚本各种括号的用途.docx

    shell 脚本各种括号的用途.docx

    brackets-shell, 基于CEF3的括号应用 shell.zip

    brackets-shell, 基于CEF3的括号应用 shell 概述这是用于括号的CEF3-based应用...请阅读括号 repo 中的主自述文件,了解关于括号的一般信息。如果你对这个 shell 感兴趣,请在 brackets-dev Google或者在freenode的 #b

    详解:Bash Shell 脚本中的括号:()、(( ))、[ ]、[[ ]]、{ } 及 他们使用的运算符!

    ——( ):1.1、作用:1.2、关于 ( ) 中使用的运算符:2、双小括号 —— (( )):2.1、作用:2.2、关于 (( )) 中使用的运算符:3、Bash 内部命令 —— [ ] :3.1、作用:3.2、关于 [ ] 中使用的运算符:4、双中括号 ...

    包含了几乎所有 unix shell script编程特性的 unix shell script 完整项目, 基于 IBM AIX,附注释.rar

    (1) 注意 if 中括号的间距 (2) 注意数据的等于和字符串的等于 (3) 注意 function的返回只能是数值而且返回的数值不能太大 (4) 注意怎样才能给一个数组赋值-用空格分隔的一串数据赋予一个数组 其他的flow control ( ...

    Shell变量名使用的特殊字符

    Shell变量名使用的特殊字符: $# 传送给命令Shell的参数序号 $- 在Shell启动或使用set命令时提供选项 $? 上一条命令执行后返回的值 $$ 当前shell的进程号 $! 上一个子进程的进程号 $@ 所有的参数,每个都用双...

    Shell脚本学习笔记

    第1章 BashShell命令 6 1.1 Shell提示符 6 1.2 文件与目录Shell命令 7 1.2.1 更改目录命令(cd) 7 1.2.2 列表命令(ls) 7 1.2.3 操作文件命令 10 1.2.4 目录处理命令 14 1.2.5 查看文件内容命令 15 1.3 监控程序 20 ...

    shell中的循环语句、判断语句实例

    shell的循环主要有3种,for,while,until shell的分支判断主要有2种,if,case 一,for循环 代码如下: #!/bin/bash for file in $(ls /tmp/test...i++)) //注意是双小括号,由于受其他语言的影响,很容易搞错 do  e

    Shell统计C++代码行数

    Shell脚本统计C++ "*.h" "*.hpp" "*.hxx" "*.c" "*.cpp" "*.cxx" "*.cc"中的代码行数,默认会自动去掉注释、#include、空行、独占一行的大括号行 并且会按一级子目录统计汇总其子目录下面所有代码的行数

    【shell脚本】shell脚本之条件判断if、for与while循环(shell脚本基础学习二)

    shell中的if 单分支 if 条件测试 ;then 命令序列 fi 双分支 if 条件测试 ;then 命令序列1 else 命令序列2 fi 多分支 if 条件测试 ;then 命令序列1 elif 条件测试 ;then 命令序列2 else 命令序列3 fi for循环: ...

    学习shell必备(CN).chm

    9.7. 双圆括号结构 10. 循环与分支 10.1. 循环 10.2. 嵌套循环 10.3. 循环控制 10.4. 测试与分支(case与select结构) 11. 内部命令与内建命令 11.1. 作业控制命令 12. 外部过滤器, 程序和命令 12.1. 基本命令 12.2. ...

    跟老男孩学Linux运维:Shell编程实战

    / 554.4 Shell特殊扩展变量的知识与实践 / 60第5章 变量的数值计算实践 / 655.1 算术运算符 / 655.2 双小括号“(())”数值运算命令 / 665.3 let运算命令的用法 / 735.4 expr命令的用法 / 755.5 bc命令的用法 ...

    Linux服务器配置与管理:Linux字符界面shell使用.pptx

    其中命令名、选项、参数之间使用空格隔开,多余的空格将被忽略,而用方括号括起来的部分表明该项是可省略的,如直接在提示符后面输入命令date,显示当前的日期和时间。下面介绍命令各组成部分的含义和作用。 (1)命令名...

    linux shell常用规则

    shell常用规则 shell特殊字符的引用 系统环境变量 循环语句 多重条件语句 命令组合:圆括号和花括号

    LINUX与UNIX SHELL编程指南

    000-目录.txt 001-文件安全与权限.PDF ...025-深入讨论(左尖括号).PDF 026-shell 工具.PDF 027-几个脚本例子.PDF 028-运行级别脚本.PDF 029-cgi 脚本.PDF 030-附录 常用shell命令.PDF 内容简介.TXT

Global site tag (gtag.js) - Google Analytics