Linux 中括号 双中括号 的区别
2016-05-23 14:10
435 查看
单中括号 [ ]
a. [ ] 两个符号左右都要有空格分隔
b. 内部操作符与操作变量之间要有空格:如 [“a” = “b” ]
c. 字符串比较中,> < 需要写成> \< 进行转义
d. [ ] 中字符串或者${}变量尽量使用”” 双引号扩住,以避免值未定义引用而出错
e. [ ] 中可以使用 –a –o 进行逻辑运算
f. [ ] 是bash 内置命令:[ is a shell builtin
双中括号
a. [[ ]] 两个符号左右都要有空格分隔
b. 内部操作符与操作变量之间要有空格:如 [[ “a’ = “b” ]]
c. 字符串比较中,可以直接使用 > < 无需转义
d. [[ ]] 中字符串或者${}变量尽量使用”” 双引号扩住,如未使用”“会进行模式和元字符匹配
e. [[ ]] 内部可以使用 && || 进行逻辑运算
f. [[ ]] 是bash keyword:[[ is a shell keyword
另外在ubuntu下有一个坑,当在ubuntu下使用[[ ]] 时,可能会报 “ [[: not found ”
这是因为 ubuntu 默认是用dash, 而不是bash, 可以使用 sudo bash xxxx.sh 执行脚本。
/article/7871370.html
http://serverfault.com/questions/52034/what-is-the-difference-between-double-and-single-square-brackets-in-bash
a. [ ] 两个符号左右都要有空格分隔
b. 内部操作符与操作变量之间要有空格:如 [“a” = “b” ]
c. 字符串比较中,> < 需要写成> \< 进行转义
d. [ ] 中字符串或者${}变量尽量使用”” 双引号扩住,以避免值未定义引用而出错
e. [ ] 中可以使用 –a –o 进行逻辑运算
f. [ ] 是bash 内置命令:[ is a shell builtin
双中括号
a. [[ ]] 两个符号左右都要有空格分隔
b. 内部操作符与操作变量之间要有空格:如 [[ “a’ = “b” ]]
c. 字符串比较中,可以直接使用 > < 无需转义
d. [[ ]] 中字符串或者${}变量尽量使用”” 双引号扩住,如未使用”“会进行模式和元字符匹配
e. [[ ]] 内部可以使用 && || 进行逻辑运算
f. [[ ]] 是bash keyword:[[ is a shell keyword
另外在ubuntu下有一个坑,当在ubuntu下使用[[ ]] 时,可能会报 “ [[: not found ”
这是因为 ubuntu 默认是用dash, 而不是bash, 可以使用 sudo bash xxxx.sh 执行脚本。
/article/7871370.html
http://serverfault.com/questions/52034/what-is-the-difference-between-double-and-single-square-brackets-in-bash
相关文章推荐
- Linux之——五种IO模型
- Linux下/proc目录简介
- 对于linux下system()函数的深度理解(整理)
- LINUX下删除用户与主目录
- 经典linux内核面试题及答案
- CentOS下tmux打造完美终端管理工具
- CentOS6.5安装vncserver实现图形化访问
- Ubuntu 无法应用原保存的显示器配置
- linux 下各个工具使用(screen、tmux,pyenv、virtualenv,pip国内源,tree)
- Linux系统下init进程的前世今生
- linux基础(25)--计划任务--RHEL6.5
- linux基础(五)
- 关于linux Centos 7一个网卡配置多个IP的方法
- Centos7安装完毕后重启提示Initial setup of CentOS Linux 7 (core)的解决方法
- Linux如何切换界面
- red hat 6.5 红帽企业Linux.6.5 yum This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 解决办法
- 学习Linux内核和驱动开发有终南捷径吗?欢迎来辩!(转载,link)
- CentOS6网卡静态IP设置
- linux 优化&安全运维&黑客攻防
- linux系统644、755、777权限详解