shell 截取最后一个参数及字符截取
首先看脚本:
#!/bin/shfunction func
{flag=${@: -1}echo "flag=${flag}"
}func $@
咋一看脚本里有一行:flag=${@: -1} 还真看不出来是什么意思 ,借此机会就当学习一下了。
在shell 中字符串的截取格式是这样的:
${string:start:length}
意思为将 string 从 start 开始截取 length 个字符,然后返回,length 如果省略则截取到字符串末尾。如:
#!/bin/shfor name in `ls`
dofile=${name:2}echo "${file}"
done
脚本很简单,把 ls 的结果用为 for 的参数,然后对每个参数从第 2 个字符开始截取到末尾,结果如下:
cut.sh export find kill_app.sh string 都被截取成了对应的字符串,还可以截取指定长度,这里不再讲述。
以上截取是从左到右进行计数的,而要从右到从进行计数来截取呢,格式如下:
${string: -start:length}
注意冒号后面跟一个空格,然后才是负号。如:
#!/bin/shfor name in `ls`
dofile=${name: -3}echo "${file}"
done
从右计数 3 个字符,然后截取其后的字符串进行返回,其结果为:
注意:无论是从左往右,还是从右往左计数,子串都是从左往右截取。
我们再回到开头提到的语句:flag=${@: -1}
此句意为 取参数列表的最后一个参数,因为@代表的就是参数列表。
#!/bin/shfunction func
{flag=${@: -1}echo "flag=${flag}"
}func $@
脚本定义了一个函数,然后用命令行的参数列表来调用函数,结果如何呢?
shell 截取最后一个参数及字符截取相关推荐
- shell中判断一个参数是否为整型
shell中判断一个参数是否为整型 判断参数是否为整型 #!/bin/bashfunction IntTest() {for argdo#算术运算符,当参数为整型数字时,执行失败(( $arg )) ...
- html实现字段截取,实现espcms系统cuthtml字符截取
昨天无忧主机小编有给大家介绍过怎么截取espcms建站系统里面的字符内容,但是后台有使用无忧PHP虚拟主机的用户反映cutstr标签无法截取字符串,所以今天无忧主机小编再来给大家介绍另一种字符截取的方 ...
- thinkphp字符截取函数msubstr()
ThinkPHP有一个内置字符截取函数msubstr()如下: msubstr($str, $start=0, $length, $charset="utf-8″, $suffix=true ...
- php中msubstr,PHP学习:thinkphp中字符截取函数msubstr()用法分析
<PHP学习:thinkphp中字符截取函数msubstr()用法分析>要点: 本文介绍了PHP学习:thinkphp中字符截取函数msubstr()用法分析,希望对您有用.如果有疑问,可 ...
- python中文字符截取乱码
python学习中 python中关于中文字符串截取的问题:中文字符截取乱码 在python中一个中文字符占三个英文字符,看以下代码: print str[0:6] #截取啤酒两个中文字符,需要从0开 ...
- java根据一个 号截取_java截取最后一个号前的字符串
java截取最后一个号前的字符串 [2021-01-31 02:35:59] 简介: php中文字符串截取乱码的解决办法:首先创建一个PHP示例文件:然后定义一个"utf_substr&q ...
- Shell编程——字符截取命令
字符截取命令 一.cut 格式: cut [选项] 文件名 参数: -f 列号: 提取第几列 -d 分隔符: 按照指定分隔符分割列 我们来演示一下,我们先建立一个文件,student.txt: ID ...
- 取最后一个字符 oracle,oracle截取最后一个字符
简单明了实用,废话不多说: select substr('a,',2,1) from dual; substr('要截取的字符',字符的长度,字符长度-1) 延伸: select substr(t.p ...
- 截取最后一个下划线前面的字符
截取最后一个下划线前面的字符 [javascript] view plaincopy var str=test_order_zhang_201703222332; var laststr=str. ...
最新文章
- win10右键闪退到桌面_【雷粉百科】windows10鼠标点击右键出现卡顿或者转圈
- mysql查询时给字段加内容,mysql数据库查询之对应库对应表中的注释信息查询以及加字段查询...
- linux 搭建mysql主从复制 ----第一篇
- python在匿名函数作和_跟光磊学Python开发-匿名函数函数和高阶函数
- [html] 如何优化页面的渲染过程?
- matlab中instr,MATLAB 串口通信
- python可以实现的功能_Python 实现某个功能每隔一段时间被执行一次的功能方法...
- (25)软件工程开发规范
- 远离魔咒,见微知著,打造崭新的罗浮宫
- 城市智能公交管理系统方案
- 宝峰c1对讲机写频软件_宝峰对讲机写频软件
- 处理UNICODE下【中文乱码】异常
- unity 截图/图片保存到手机相册
- 深入了解机器学习 (Descending into ML):训练与损失
- freeswitch mrcp 源码分析--数据接收(上)
- 基于数字孪生的智慧城市
- 【历史上的今天】3 月 28 日:EPROM 的发明者出生;计算机进入艾滋病研究领域
- view_video.php,Android_Android使用VideoView播放本地视频和网络视频的方法,1、效果展示2、布局文件- phpStudy...
- 服务器cpu 爆满问题排查
- STEM图像模拟软件QSTEM入门教程-测试狗
热门文章
- python小猴子摘桃子的故事_基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
- Struts2 Action 与Spring bean 作用域
- 计算机无法切换用户,Win10微软账户无法切换Administrator本地帐户的解决方法
- 18款月流水千万国产手游的来龙去脉
- 翌加:抖音小店五种重要的推广方式
- “南通大学教务管理系统微信公众号” 用户体验分析
- ctp java_上期CTP 封装JAVA API window Swig
- mate8鸿蒙,比安卓速度快60%?华为鸿蒙OS或8月9日亮相
- mysql create table select from_mysql create table select复制表结构和数据实例讲解
- Apple Developer Registration and DUNS Number Not Accepted