bash 内部变量
2013-06-22 22:13
197 查看
bash 内部变量
1、shift 命令实例
说明:shift 命令是将参数往后挪一位,第一个参数就没有了,第二个参数就是第一个参数[root@zhangjie scripts]# cat n.sh echo $1 $2
if [ $# -eq 2 ]
thenshift echo $1
fi[root@zhangjie scripts]# sh n.sh 1 21 22[root@zhangjie scripts]#
2、变量子串的常用操作❶ 反回变量字符串的长度[root@zhangjie scripts]# zj=zhangjie[root@zhangjie scripts]# zj="i am zhangjie"[root@zhangjie scripts]# echo $zj i am zhangjie[root@zhangjie scripts]# echo ${#zj}13
❷ 从变量字符串中的某一个字符的位置开始提取
[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj:2}am zhangjie
[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj:2} am zhangjie[root@zhangjie scripts]# echo ${zj:2:4}am z
说明:一共13个字符串,第二个开始是am,4表示一共提取4个字符
❸ 从变量字符串中以什么开头的开始删除最短匹配的字符[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj#i am}zhangjie
❹ 从变量字符串中以什么开头开始删除最长匹配的字符[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj##i am}zhangjie
❺ 从变量字符串中以什么结尾开始删除最短匹配的字符[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj%zhangjie}i am
❻ 从变量字符串中以什么结尾开始删除最长匹配的字符[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj%%zhangjie}i am
❼ 从变量字符串中替换匹配的字符[root@zhangjie scripts]# echo ${zj} i am zhangjie[root@zhangjie scripts]# echo ${zj/zhangjie/xiaozhang}i am xiaozhang
❽ 替换开头为某一字符串的内容为你想要替换的字符串内容
[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj/#i am/Hi is}Hi is zhangjie
❾ 替换结尾为某一字符串的内容为你想要替换的字符串内容 [root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj/%zhangjie/xiaozhang}i am xiaozhang
本文出自 “张杰的技术博客” 博客,请务必保留此出处http://zhangjie.blog.51cto.com/539058/1227587
1、shift 命令实例
说明:shift 命令是将参数往后挪一位,第一个参数就没有了,第二个参数就是第一个参数[root@zhangjie scripts]# cat n.sh echo $1 $2
if [ $# -eq 2 ]
thenshift echo $1
fi[root@zhangjie scripts]# sh n.sh 1 21 22[root@zhangjie scripts]#
2、变量子串的常用操作❶ 反回变量字符串的长度[root@zhangjie scripts]# zj=zhangjie[root@zhangjie scripts]# zj="i am zhangjie"[root@zhangjie scripts]# echo $zj i am zhangjie[root@zhangjie scripts]# echo ${#zj}13
❷ 从变量字符串中的某一个字符的位置开始提取
[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj:2}am zhangjie
[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj:2} am zhangjie[root@zhangjie scripts]# echo ${zj:2:4}am z
说明:一共13个字符串,第二个开始是am,4表示一共提取4个字符
❸ 从变量字符串中以什么开头的开始删除最短匹配的字符[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj#i am}zhangjie
❹ 从变量字符串中以什么开头开始删除最长匹配的字符[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj##i am}zhangjie
❺ 从变量字符串中以什么结尾开始删除最短匹配的字符[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj%zhangjie}i am
❻ 从变量字符串中以什么结尾开始删除最长匹配的字符[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj%%zhangjie}i am
❼ 从变量字符串中替换匹配的字符[root@zhangjie scripts]# echo ${zj} i am zhangjie[root@zhangjie scripts]# echo ${zj/zhangjie/xiaozhang}i am xiaozhang
❽ 替换开头为某一字符串的内容为你想要替换的字符串内容
[root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj/#i am/Hi is}Hi is zhangjie
❾ 替换结尾为某一字符串的内容为你想要替换的字符串内容 [root@zhangjie scripts]# echo ${zj}i am zhangjie[root@zhangjie scripts]# echo ${zj/%zhangjie/xiaozhang}i am xiaozhang
本文出自 “张杰的技术博客” 博客,请务必保留此出处http://zhangjie.blog.51cto.com/539058/1227587
相关文章推荐
- Bash内部变量学习
- bash的内部变量
- Bash内部变量
- shell脚本学习第四天——bash内部变量,变量主串,变量替换
- Bash的内部变量
- bash内部命令变量
- MySQL查询优化--调整内部变量的详解
- bash脚本编程之四——整数测试及特殊变量
- zsh与bash设置环境变量的不同点
- Effective Objective-C 2.0 — 第七条:在对象内部尽量直接访问实例变量
- bash语系变量
- bash 循环中变量作用范围的问题分析
- bash变量-数值运算与运算符/变量测试与内容替换/环境变量配置文件
- Shell/Bash 变量/variable 循环/loop
- Thinking in Java之类内部变量定义先后顺序
- 2. ansible-playbook 条件语句-内部变量使用
- bash变量扩展(字符串操作)
- 变量在 PHP7 内部的实现(一)
- 变量在 PHP7 内部的实现(一)
- php的扩展和嵌入--php内部变量