首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell中的括号(小括号,中括号,大括号

一、小括号,园括号()   1、括号 ()     ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。...等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,如tcsh。    ...,方括号[]   1、括号 []     ①bash 的内部命令,[和test是等同的。...②支持字符串的模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell? ]],结果为真。...与小括号中的命令不同,大括号内的命令不会新开一个子shell运行,即脚本余下部分仍可使用括号内变量。括号内的命令间用分号隔开,最后一个也必须有分号。

3.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

shell中各种括号的作用(中)

三.大括号、花括号 {} 常规用法 1.大括号拓展。(通配(globbing))将对大括号中的文件名做扩展。在大括号中,不允许有空白,除非这个空白被引用或转义。...与小括号中的命令不同,大括号内的命令不会新开一个子shell运行,即脚本余下部分仍可使用括号内变量。括号内的命令间用分号隔开,最后一个也必须有分号。{}的第一个命令和左括号之间必须要有一个空格。...中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最短的匹配模式 第二种模式: ${variable%%pattern},这种模式时,shell在variable...中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最长的匹配模式 第三种模式:${variable#pattern} 这种模式时,shell在variable...中查找,看它是否一给的模式pattern开始,如果是,就从命令行把variable中的内容去掉左边最短的匹配模式 第四种模式: ${variable##pattern} 这种模式时,shell在variable

1.8K20

shell中各种括号的作用(下)

${a} 变量a的值, 在不引起歧义的情况下可以省略大括号。 2....$(cmd) 命令替换,和cmd效果相同,结果为shell命令cmd的输,过某些Shell版本不支持$()形式的命令替换, 如tcsh。 3....五.使用 多条命令执行 1.括号,(cmd1;cmd2;cmd3) 新开一个子shell顺序执行命令cmd1,cmd2,cmd3, 各命令之间用分号隔开, 最后一个命令后可以没有分号。...2.括号,{ cmd1;cmd2;cmd3;} 在当前shell顺序执行命令cmd1,cmd2,cmd3, 各命令之间用分号隔开, 最后一个命令后必须有分号, 第一条命令和左括号之间必须用空格隔开。...对{}和()而言, 括号中的重定向符只影响该条命令, 而括号外的重定向符影响到括号中的所有命令

75320

Shell 中的中括号用法总结

Shell 里面的中括号(包括括号与双中括号)可用于一些条件的测试: 算术比较, 比如一个变量是否为0, [ $var -eq 0 ]。...passwd" if [ -e $fpath ]; then echo File exits; else echo Does not exit; fi 字符串比较 在进行字符串比较时,最好使用双中括号...因为括号可能会导致一些错误,因此最好避开它们。 检查两个字符串是否相同: [[ $str1 = $str2 ]] 当 $str1 等于 $str2 时,返回真。...其中的等于号也可以写成双等于号,也就是说,上面的字符串比较等效于 [[ $str1 == $str2 ]]. 注意 = 前后有一个空格,如果忘记加空格, 就变成了赋值语句,而非比较关系了。...if [ $var -eq 0 ]; then echo "True"; fi 等价于 if test $var -eq 0; then echo "True"; fi 参考: [1] Linux Shell

1.2K30

shell中各种括号的作用(上)

一.小括号,圆括号() 括号() 1.命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。...括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 2.命令替换。...等同于cmd,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,如tcsh。 3.用于初始化数组。...再如可以直接使用if (($i<5)), 如果不使用双括号, 则为if [ $i -lt 5 ]。 二.中括号,方括号[] 括号 [] 1.bash 的内部命令,[和test是等同的。...2.支持字符串的模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell? ]],结果为真。

87320

Shell 中的中括号用法总结

Shell 里面的中括号(包括括号与双中括号)可用于一些条件的测试: 算术比较, 比如一个变量是否为0, [ $var -eq 0 ]。...字符串比较 在进行字符串比较时,最好使用双中括号 [[ ]]. 因为括号可能会导致一些错误,因此最好避开它们。 检查两个字符串是否相同: ? 当 str1等于str1等于str2 时,返回真。...其中的等于号也可以写成双等于号,也就是说,上面的字符串比较等效于 [[ $str1 == $str2 ]]。注意 = 前后有一个空格,如果忘记加空格, 就变成了赋值语句,而非比较关系了。...test 命令也可以从来执行条件检测,用 test 可以避免使用过多的括号,[] 中的测试条件同样可以通过 test 来完成。 ? 等价于: ?

2.4K20

shell中各种括号的作用()、(())、]、{}「建议收藏」

一、小括号,圆括号() 1、括号 () ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。...二、中括号,方括号[] 1、括号 [] ①bash 的内部命令,[和test是等同的。如果我们不用绝对路径指明,通常我们用的都是bash自带的命令。...与小括号中的命令不同,大括号内的命令不会新开一个子shell运行,即脚本余下部分仍可使用括号内变量。括号内的命令间用分号隔开,最后一个也必须有分号。...五、使用 1、多条命令执行 (1)括号,(cmd1;cmd2;cmd3) 新开一个子shell顺序执行命令cmd1,cmd2,cmd3, 各命令之间用分号隔开, 最后一个命令后可以没有分号。...(2)括号,{ cmd1;cmd2;cmd3;} 在当前shell顺序执行命令cmd1,cmd2,cmd3, 各命令之间用分号隔开, 最后一个命令后必须有分号, 第一条命令和左括号之间必须用空格隔开

3.8K40

Linux——shell

什么是shellshell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) 。它接收用户输入的命令并把它送入内核去执行。起着用户与系统之间进行交互的作用。 ?...shell的功能: 命令行解释 命令的多种执行顺序 通配符 命令补全、别名机制、命令历史 I/O重定向 管道 命令替换(` ` 或$( ) ) shell编程语言 shell可以执行——内部命令、外部命令...shell命令分为: 内部(内置)命令 内部命令是shell本身包含的一些命令,这些内部命令的代码是整个shell代码的一个组成部分; 内部命令的执行是shell通过执行自己的代码中的相应部分来完成的...外部(外置)命令 外部命令的代码则存放在一些二进制的可执行文件或者shell脚本中; 外部命令执行时,shell会在文件系统中指定的一些目录去搜索相应的文件,然后调入内存执行。...shell变量PATH中 ?

10.7K30

Linux Shell(一)——Shell变量

1 变量的分类 在Linux中,变量分为环境变量 和 局部变量。 环境变量能被子进程继承,而局部变量只能在当前进程中使用。...SHELL:当前使用的SHELL HISTSIZE:历史命令的最大条数 MAIL:当前用户的邮箱目录 PATH:可执行文件的查找路径。...1.2 常见的局部变量(非环境变量) PS1:命令提示符 在命令输入光标前有一串用中括号括起来的信息,这就是命令提示符。命令提示符究竟需要显示哪些信息,这就是由PS1这个局部变量决定的。...变量名绝对不能含有空格,即使用/双引号的方式包裹也无济于事! 转移字符\可以将特殊字符转换成一般的字符,即这些特殊字符将失去它原有的特性,它退化成一个字符串了。特殊字符有:回车键、$、\、空格、!...5 变量类型:declare/typeset Linux中的变量一共有5种类型,分别是:字符、整型、只读、环境变量。

12K70
领券