shell脚本的学习1-截取字符串
来源:互联网 发布:超级玛丽mac版 编辑:程序博客网 时间:2024/05/17 03:13
shell脚本中截取字符
假设有一个字符串变量为var=http://www.aaa.com/123.html
- 1.# 表示删除相应字符的左边字符,保留右边字符比如:
echo=${var#*//} 表示删除//左边的字符,保留右边的字符输出为:www.aaa.com/123.html
- 2.## 表示删除从左往右最后一个(最右边第一个)相应字符的左边字符,保留其右边的字符,比如:
echo=${var##*/} 表示删除从左往右最后一个/左边的字符,保留右边的字符输出:123.html
- 3.% 表示删除从右往左第一个相应字符右边字符,保留其左边的字符,比如:
echo=${var%/*} 表示删除从右往左第一个/字符后面(右边)的字符,保留其左边字符输出:http://www.aaa.com
- 4.%% 表示删除从右往左最后一个(最左边第一个)相应字符右边字符,保留其左边的字符,比如:
echo=${var%%/*} 表示删除删除从右往左最后一个/(最左边第一个/)的右边字符,保留其左边的字符输出:http:
- 5.截取相应的字符
var=http://www.aaa.com/123.htmlecho ${var:0:3} 表示输出从左边开始第0个字符开始(包含第0个字符),截取长度为3的字符输出:httecho ${var:7} 表示从第7个字符开始(包含第7个字符),一直到结束输出:www.aaa.com/123.htmlecho ${var:0-7:3} 表示输出从右边第7个字符以后开始(不包含第7个字符),长度为3输出:23.echo ${var:0-7} 表示输出从右边第7个字符开始(不包含第7个字符)以后输出:23.html
shell传递参数
- 1.参数的显示
#!/bin/bashecho "Shell 传递参数实例!";echo "执行的文件名:$0";echo "第一个参数为:$1";echo "第二个参数为:$2";echo "第三个参数为:$3";echo "参数的个数是:$#"echo "参数是:$*"输出:$ ./test.sh 1 2 3Shell 传递参数实例!执行的文件名:./test.sh第一个参数为:1第二个参数为:2第三个参数为:3参数的个数是:3参数是:1 2 3
- 2.几个处理参数的特殊字符
- 3.
∗和 @区别- 相同点:都是引用所有参数。
- 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 ” * ” 等价于 “1 2 3”(传递了一个参数),而 “@” 等价于 “1” “2” “3”(传递了三个参数)。
#!/bin/bashecho "-- \$* 演示 ---"for i in "$*"; do echo $idoneecho "-- \$@ 演示 ---"for i in "$@"; do echo $idone输出结果为:$ bash test.sh 1 2 3-- $* 演示 ---1 2 3-- $@ 演示 ---123
shell中的数组
#!/bin/basharray=(A B C D)echo "the first string is:${array[0]}" #第一个元素echo "all string is:${arary[*]}" #数组中全部元素echo "all string is:${arary[@]}" #数组中全部元素echo "the length is:${#array[*]}" #数组的长度echo "the length is:${#array[@]}" #数组的长度输出为:the first string is:Aall string is:A B C Dall string is:A B C Dthe length is:4the length is:4
阅读全文
0 0
- shell脚本的学习1-截取字符串
- shell 脚本的字符串截取
- Shell脚本的字符串截取
- shell脚本的字符串截取
- shell脚本:字符串的截取
- Shell脚本截取字符串
- shell脚本字符串截取
- shell脚本字符串截取
- shell脚本截取字符串
- shell脚本截取字符串
- shell脚本截取字符串
- Linux shell脚本的字符串截取
- Linux shell脚本的字符串截取
- Linux shell脚本的字符串截取
- Linux shell脚本的字符串截取
- Linux shell脚本的字符串截取
- Linux Shell脚本的字符串截取
- Linux shell脚本的字符串截取
- YARN核心部件解读
- ansible入门
- 使用通配符* There is no Action mapped for namespace [/] and action name [user_add] associated with conte
- 算法铺子之排序---堆排序(一)
- python爬虫三:获取一个网易用户的所有图片(selenium+phantomjs)
- shell脚本的学习1-截取字符串
- STM32F10x_模拟I2C读写EEPROM
- 谷歌开源了星际争霸2 AI训练框架
- 【上传漏洞】之图片一句话
- dns正向解析,反向解析,双向解析
- linux下lds链接脚本详解
- Python学习笔记-实战篇
- The Accomodation of Students
- 嵌入式WebSocket的实现