我的dash
脚本采用形式的参数hostname:port
,即:
myhost:1234
而port是可选的,即:
myhost
我需要将主机和端口读入单独的变量。在第一种情况下,我可以这样做:
HOST=${1%%:*}
PORT=${1##*:}
但这在第二种情况下不起作用,当省略了port时;echo ${1##*:}
只是返回主机名,而不是一个空字符串。
在Bash中,我可以这样做:
IFS=: read A B <<< asdf:111
但这不适用于dash
。
能否在拆分字符串:
在仪表板,而无需调用外部程序(awk
,tr
,等)?
4
如果要支持IPv6,请确保在最后一个冒号上进行分割,并且不要在方括号内的冒号上进行分割
—
Ferrybig
@Ferrybig
—
jpaugh
%%
使它变得贪婪(而不是%
),因此它实际上至少部分是这样做的;它不起作用##
。