dash
Script saya mengambil parameter dalam bentuk hostname:port
, yaitu:
myhost:1234
Sedangkan port bersifat opsional, yaitu:
myhost
Saya perlu membaca host dan port menjadi variabel yang terpisah. Dalam kasus pertama, saya bisa melakukan:
HOST=${1%%:*}
PORT=${1##*:}
Tapi itu tidak berfungsi dalam kasus kedua, ketika port dihilangkan; echo ${1##*:}
hanya mengembalikan nama host, alih-alih string kosong.
Di Bash, saya bisa melakukan:
IFS=: read A B <<< asdf:111
Tapi itu tidak berhasil dash
.
Dapatkah saya membagi string di :
dalam dasbor, tanpa melibatkan program eksternal ( awk
, tr
, dll)?
%%
menjadikannya serakah (berlawanan dengan %
), jadi ia melakukan ini, setidaknya sebagian; itu tidak akan berhasil ##
.