bash中的括号

来源:互联网 发布:知微是什么意思 编辑:程序博客网 时间:2024/04/28 08:55

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

{ list; }
    可以作组合命令用
    list将在当前shell中被执行
    list结尾处必须要有新行或';'号
    返回list的exit值
    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"替换pattern,pattern前可加#或%,表开头或结尾
${p//pattern/word} 用"word"替换所有pattern,pattern前可加#或%,表开头或结尾

${<file} 返回文件内容 

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