“//[[:blank:]]/”在这里做什么?
what does "//[[:blank:]]/" do here?
在这种情况下,我无法理解 shell 脚本。请帮忙。
inDumpPort=1
var=${inDumpPort//[[:blank:]]/}
输出还是1。
为什么(或如何)需要它?
[[:blank:]]
匹配 space 或制表符 space。
它实际上是从 $inDumpPort
变量中删除所有 space。
这个例子会更清楚:
inDumpPort=" 1 "
echo "<$inDumpPort>"
< 1 >
echo "<${inDumpPort//[[:blank:]]/}>"
<1>
anubhava 已经提到过,该表达式正在删除您在方括号中给出的字符 class 的所有外观。因为您的 bash 字符 class 是 :blank:,它会删除变量中的空格。
如果你这样做:
inDumpPort="Hello World"
echo "<${inDumpPort//[[:lower:]]/}>"
<H W>
它将删除变量 inDumpPort
中的所有小写字符。
在此处查找更多 Bash 字符 classes: Bash Character Classes
在这种情况下,我无法理解 shell 脚本。请帮忙。
inDumpPort=1
var=${inDumpPort//[[:blank:]]/}
输出还是1。 为什么(或如何)需要它?
[[:blank:]]
匹配 space 或制表符 space。
它实际上是从 $inDumpPort
变量中删除所有 space。
这个例子会更清楚:
inDumpPort=" 1 "
echo "<$inDumpPort>"
< 1 >
echo "<${inDumpPort//[[:blank:]]/}>"
<1>
anubhava 已经提到过,该表达式正在删除您在方括号中给出的字符 class 的所有外观。因为您的 bash 字符 class 是 :blank:,它会删除变量中的空格。
如果你这样做:
inDumpPort="Hello World"
echo "<${inDumpPort//[[:lower:]]/}>"
<H W>
它将删除变量 inDumpPort
中的所有小写字符。
在此处查找更多 Bash 字符 classes: Bash Character Classes