linux shell特殊字符详解
2011-05-15 01:44
232 查看
()[/b]: 创建成组的命令
1)一组由圆括号括起来的命令是新开一个子shell来执行的
因为是在子shell里执行,在圆括号里的变量不能被脚本的其他部分访问。因为父进程(即脚本进程)不能存取子进程(即子shell)创建的变量。
2)数组初始化.
{} [/b]: 创建命令块
1)这个结构也是一组命令代码块,事实上,它是匿名的函数。然而与一个函数所不同的,在代码块里的变量仍然能被脚本后面的代码访问。
2)不像一个用圆括号括起来的命令组,一个用花括号括起的代码块不会以一个子shell运行。
“”[/b]: 部分引用——可以解释引号中的变量
‘’[/b]: 完全引用——引号内所有的内容都是常量
: [/b]:空操作——什么都不做。一般用在脚本中。
1)在必须要有两元操作的地方作为一个分隔符
: ${username=`whoami`}
# ${username=`whoami`} 如果没有开头的:,将会出错,除非"username"是一个外部命令或是内建命令.
2)在参数替换中为字符串变量赋值
? [/b]: 在参数替换表达式里,测试一个变量是否被设置了值.
[] [/b]: 测试在[ ]中的表达式.
数组元素——在数组的上下文中,方括号表示数组的每个元素的数字编号.
[[]] [/b]: 测试在[[]]中的表达式.
1)在[[和]]之间的所有的字符都不会被文件扩展或是标记分割,但是会有参数引用和命令替换。
2)用[[ ... ]]测试结构比用[ ... ]更能防止脚本里的许多逻辑错误。比如说,&&,||,<和>操作符能在一个[[]]测试里通过,但在[]结构会发生错误。
<<[/b] :在here document中使用的重定向.
<<<[/b]:在here string中使用的重定向.
-: [/b]
1) 用于stdin或stdout重定向的源或目的
本文出自 “树欲静而风不止” 博客,转载请与作者联系!
1)一组由圆括号括起来的命令是新开一个子shell来执行的
因为是在子shell里执行,在圆括号里的变量不能被脚本的其他部分访问。因为父进程(即脚本进程)不能存取子进程(即子shell)创建的变量。
(a=hello; echo $a)
2)数组初始化.
Array=(element1 element2 element3)
(( )) [/b]: 扩展并计算(( ))里的整数表达式, 不能用来做浮点计算.
{} [/b]: 创建命令块
1)这个结构也是一组命令代码块,事实上,它是匿名的函数。然而与一个函数所不同的,在代码块里的变量仍然能被脚本后面的代码访问。
2)不像一个用圆括号括起来的命令组,一个用花括号括起的代码块不会以一个子shell运行。
“”[/b]: 部分引用——可以解释引号中的变量
‘’[/b]: 完全引用——引号内所有的内容都是常量
: [/b]:空操作——什么都不做。一般用在脚本中。
1)在必须要有两元操作的地方作为一个分隔符
: ${username=`whoami`}
# ${username=`whoami`} 如果没有开头的:,将会出错,除非"username"是一个外部命令或是内建命令.
2)在参数替换中为字符串变量赋值
: ${HOSTNAME?} ${USER?} ${MAIL?}
#如果列出的一个或多个基本的环境变量没有设置,将打印出错信息。
? [/b]: 在参数替换表达式里,测试一个变量是否被设置了值.
[] [/b]: 测试在[ ]中的表达式.
数组元素——在数组的上下文中,方括号表示数组的每个元素的数字编号.
[[]] [/b]: 测试在[[]]中的表达式.
1)在[[和]]之间的所有的字符都不会被文件扩展或是标记分割,但是会有参数引用和命令替换。
2)用[[ ... ]]测试结构比用[ ... ]更能防止脚本里的许多逻辑错误。比如说,&&,||,<和>操作符能在一个[[]]测试里通过,但在[]结构会发生错误。
<<[/b] :在here document中使用的重定向.
<<<[/b]:在here string中使用的重定向.
-: [/b]
1) 用于stdin或stdout重定向的源或目的
(cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xpvf -)
本文出自 “树欲静而风不止” 博客,转载请与作者联系!
相关文章推荐
- linux shell特殊字符详解汇总
- linux shell特殊字符详解
- Linux Shell编程(4)——shell特殊字符(上)
- 详解两个PHP正则表达式特殊字符
- shell特殊字符详解
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
- MySQL数据入库时特殊字符处理详解
- Linux Shell编程(5)——shell特殊字符(下)
- linux shell命令之wc/split及特殊字符
- Mybatis特殊字符处理的详解
- String类 replaceAll方法 及Matcher类 appendReplacement方法处理$ \特殊字符 详解
- Linux Shell编程(4)——shell特殊字符(上)
- Linux Shell 通配符、转义字符、元字符、特殊字符
- 【转载】关于Linux Shell 特殊字符
- Linux Shell 通配符、转义字符、元字符、特殊字符
- Linux Shell特殊字符
- MySQL数据入库时特殊字符处理详解
- linux shell中28个特殊字符的作用
- html、javascript、url特殊字符的转义诠释及使用方法详解
- jquery与ajax获取特殊字符实例详解