2007年6月4日星期一

bash中的括号

(list)
    list将在一个子shell中被执行, 不会对当前shell产生影响
    
返回listexit

{ list; }
    可以作组合命令用
    list
将在当前shell中被执行
    list
结尾处必须要有新行或';'
   
返回listexit
    list
前后必须有空格

((expression))
    算术计算

${!p} 二重参数
${!p*} 返回所有以p开头的变量
${p:-word} 如果变量p不存在,返回"word"
${p:=word} 如果变量p不存在,返回"word",并将p的值设为"word"
${p:?word} 如果变量p不存在,将"word"打入STDERR
${p:+word} 如果变量p存在,返回"word"
${p:2}  子串
${p:2:3} 子串
${p#pattern} 返回p开头删除pattern后的字符串,非贪婪模式
${p##pattern} 返回p开头删除pattern后的字符串,贪婪模式
${p%pattern} 返回p结尾删除pattern后的字符串,非贪婪模式
${p%%pattern} 返回p结尾删除pattern后的字符串,贪婪模式
${p/pattern/word} "word"替换patternpattern前可加#%,表开头或结尾
${p//pattern/word} "word"替换所有patternpattern前可加#%,表开头或结尾

${<file} 返回文件内容<FILE}?返回文件内容< P> <FILE}< FONT><FILE}?返回文件内容< P>

$((expression)) 返回数学表达式的值
${ list; } 返回命令执行之输出

 

 

Regards,

Tao

 

没有评论: