parameter=http://www.edreamer.com/cut-string.html
1. 以出现的字符为基准截取:
(1) ${string#*flag}从字符串左边开始寻找,第一次出现flag的位置,删除flag及其左边的字符串。
例如:${parameter#*//}结果为www.edreamer.com/cut-string.html
(2) ${string##*flag}从字符串左边开始寻找,最后一次出现flag的位置,删除flag及其左边的字符串。
例如:${parameter##*/}结果为cut-string.html
(3) ${string%flag*}从字符串右边开始寻找,第一次出现flag的位置,删除flag及其右边的字符串。
例如:${parameter%/*}结果为http://www.edreamer.com
(4) ${string%%flag*}从字符串右边开始寻找,最后一次出现flag的位置,删除flag及其右边的字符串。
例如:${parameter%%//*}结果为http:
2. 根据字符索引及长度截取:
(1) ${string:start:length}从左边start位置开始,截取后面length长度的字符串,不包括start位置的字符。
例如:${parameter:7:16}结果为www.edreamer.com
(2) ${string:start}从左边start位置开始,截取到结尾的字符串,不包括start位置的字符。
例如:${parameter:7}结果为www.edreamer.com/cut-string.html
(3) ${string:0-length}从右边开始,截取长度为length的字符串
例如:${parameter:0-4}结果为html
注:该方式在#!/bin/sh下会报错,要改为#!/bin/bash
哇塞,居然是沙发?留个名