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 ].
相关推荐
大括号在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 中各种括号的作用.doc
本文给大家收藏整理了shell中各种括号的作用,非常不错,具有参考借鉴价值,需要的朋友参考下吧
shell 脚本各种括号的用途.docx
brackets-shell, 基于CEF3的括号应用 shell 概述这是用于括号的CEF3-based应用...请阅读括号 repo 中的主自述文件,了解关于括号的一般信息。如果你对这个 shell 感兴趣,请在 brackets-dev Google或者在freenode的 #b
——( ):1.1、作用:1.2、关于 ( ) 中使用的运算符:2、双小括号 —— (( )):2.1、作用:2.2、关于 (( )) 中使用的运算符:3、Bash 内部命令 —— [ ] :3.1、作用:3.2、关于 [ ] 中使用的运算符:4、双中括号 ...
(1) 注意 if 中括号的间距 (2) 注意数据的等于和字符串的等于 (3) 注意 function的返回只能是数值而且返回的数值不能太大 (4) 注意怎样才能给一个数组赋值-用空格分隔的一串数据赋予一个数组 其他的flow control ( ...
Shell变量名使用的特殊字符: $# 传送给命令Shell的参数序号 $- 在Shell启动或使用set命令时提供选项 $? 上一条命令执行后返回的值 $$ 当前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的循环主要有3种,for,while,until shell的分支判断主要有2种,if,case 一,for循环 代码如下: #!/bin/bash for file in $(ls /tmp/test...i++)) //注意是双小括号,由于受其他语言的影响,很容易搞错 do e
Shell脚本统计C++ "*.h" "*.hpp" "*.hxx" "*.c" "*.cpp" "*.cxx" "*.cc"中的代码行数,默认会自动去掉注释、#include、空行、独占一行的大括号行 并且会按一级子目录统计汇总其子目录下面所有代码的行数
shell中的if 单分支 if 条件测试 ;then 命令序列 fi 双分支 if 条件测试 ;then 命令序列1 else 命令序列2 fi 多分支 if 条件测试 ;then 命令序列1 elif 条件测试 ;then 命令序列2 else 命令序列3 fi for循环: ...
9.7. 双圆括号结构 10. 循环与分支 10.1. 循环 10.2. 嵌套循环 10.3. 循环控制 10.4. 测试与分支(case与select结构) 11. 内部命令与内建命令 11.1. 作业控制命令 12. 外部过滤器, 程序和命令 12.1. 基本命令 12.2. ...
/ 554.4 Shell特殊扩展变量的知识与实践 / 60第5章 变量的数值计算实践 / 655.1 算术运算符 / 655.2 双小括号“(())”数值运算命令 / 665.3 let运算命令的用法 / 735.4 expr命令的用法 / 755.5 bc命令的用法 ...
其中命令名、选项、参数之间使用空格隔开,多余的空格将被忽略,而用方括号括起来的部分表明该项是可省略的,如直接在提示符后面输入命令date,显示当前的日期和时间。下面介绍命令各组成部分的含义和作用。 (1)命令名...
shell常用规则 shell特殊字符的引用 系统环境变量 循环语句 多重条件语句 命令组合:圆括号和花括号
000-目录.txt 001-文件安全与权限.PDF ...025-深入讨论(左尖括号).PDF 026-shell 工具.PDF 027-几个脚本例子.PDF 028-运行级别脚本.PDF 029-cgi 脚本.PDF 030-附录 常用shell命令.PDF 内容简介.TXT