1、获取字串
var=http://www.baidu.com/index.html/cn
1.要求获取www.baidu.com
2.要求获取baidu
3.要求获取cn
shell获取字串----通过字符分割获取格式
${var#*string} 从左往右,获取第一个string字符串右边的所有字符,不包括string
${var##*string} 从左往右,获取最后一个string字符串右边的所有字符,不包括string ${var%string*} 从右往左,获取第一个string字符串左边的所有字符,不包括string
${var%%string*} 从右往左,获取最后一个string字符串左边的所有字符,不包括string
website="http://www.baidu.com/index.html/cn"
distinct=${website#*//} # www.baidu.com/index.html/cn
distinct_name1=${distinct%%/*} # www.baidu.com
tmp=${distinct_name1#*.} # baidu.com
baidu=${tmp%%.*} # baidu
cn=${website##*/} # cn
echo "${distinct_name1}"
echo "${baidu}"
echo "${cn}"
2、从终端获取两个数据,对该数据进行交换
read 变量1 变量2 变量n
功能:
同时获取多个数据,输入的时候数据与数据之间用空格隔开。 当剩余的数据只能放入到最后一个变量中的时候,此时最后一个变量中可以识别到空格。如下图 若想要获取的数据中间有空格,可以用单个元素输入方式。
read num1 num2
echo "num1=${num1} num2=${num2}"
tmp=${num1}
num1=${num2}
num2=${tmp}
echo "num1=${num1} num2=${num2}"