%解释
在 Bash 中,%
符号通常表示删除字符串的后缀。具体来说,${var%pattern}
表示从变量 $var
的结尾删除匹配模式 pattern
的子串,并返回删除后的字符串。
例如,如果 $namebin
的值为 file.bin
,那么 ${namebin%.bin}
的结果就是 file
,因为它删除了 $namebin
变量结尾的 .bin
后缀。
需要注意的是,%
符号只会删除一个匹配模式,如果变量结尾有多个匹配模式,只会删除最后一个匹配模式。另外,%
符号还可以与 %%
符号连用,表示删除最长匹配模式的后缀。
#解释
在 Bash 中,#
符号通常表示删除字符串的前缀。具体来说,${var#pattern}
表示从变量 $var
的开头删除匹配模式 pattern
的子串,并返回删除后的字符串。
例如,如果 $srcbin
的值为 /path/to/file.bin
,那么 ${srcbin#*/}
的结果就是 path/to/file.bin
,因为它删除了 $srcbin
变量开头的 /
及其之前的所有字符。
需要注意的是,#
符号只会删除一个匹配模式,如果变量开头有多个匹配模式,只会删除第一个匹配模式。另外,#
符号还可以与 ##
符号连用,表示删除最长匹配模式的前缀。
$解释
在 Bash 中,$
符号通常表示变量,用于引用变量的值。例如,$name
表示变量 name
的值。
在某些情况下,为了避免变量名与其他字符混淆,可以使用 $
符号来界定变量名的边界。例如,$namebin
和 ${namebin}
都表示变量 namebin
的值,但是在 $namebin
中,$
符号界定了变量名的边界,使得 Bash 可以正确解释变量名。另外,${namebin%.bin}
中的 $
符号也是用来界定变量名的边界,表示 ${namebin}
和 .bin
是两个独立的字符串,而不是一个字符串。
需要注意的是,在某些情况下,$
符号也可以用于转义特殊字符,例如 $'n'
表示换行符,$'t'
表示制表符等。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net