shell脚本变量和字符串截取

变量说明:
$$ Shell本身的PID(ProcessID)
$! Shell最后运行的后台Process的PID
$? 最后运行的命令的结束代码(返回值)
$- 使用Set命令设定的Flag一览
$* 所有参数列表。如”$*”用「”」括起来的情况、以”$1 $2 … $n”的形式输出所有参数。
[email protected] 所有参数列表。如”[email protected]”用「”」括起来的情况、以”$1″ “$2″ … “$n” 的形式输出所有参数。
$# 添加到Shell的参数个数
$0 Shell本身的文件名
$1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数……

字符串截取:
Linux 的字符串截取很有用。有八种方法。
假设有变量 var=http://www.sharelinux.com/index.html
1. # 号截取,删除左边字符,保留右边字符。
    echo ${var#*//}
    其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
    即删除 http://
    结果是 :www.sharelinux.com/index.html
2. ## 号截取,删除左边字符,保留右边字符。
    echo ${var##*/}
    ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
    即删除 http://www.sharelinux.com/
    结果是 index.html
3. %号截取,删除右边字符,保留左边字符
    echo ${var%/*}
    %/* 表示从右边开始,删除第一个 / 号及右边的字符
    结果是:http://www.sharelinux.com
4. %% 号截取,删除右边字符,保留左边字符
    echo ${var%%/*}
    %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
    结果是:http:
5. 从左边第几个字符开始,及字符的个数
    echo ${var:0:5}
    其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
    结果是:http:
6. 从左边第几个字符开始,一直到结束。
    echo ${var:7}
    其中的 7 表示左边第8个字符开始,一直到结束。
    结果是 :www.sharelinux.com/index.html
7. 从右边第几个字符开始,及字符的个数
    echo ${var:0-7:3}
    其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
    结果是:123
8. 从右边第几个字符开始,一直到结束。
    echo ${var:0-7}
    表示从右边第七个字符开始,一直到结束。
    结果是:index.html
    注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

时间: 2024-12-25 06:58:28

shell脚本变量和字符串截取的相关文章

Shell脚本8种字符串截取方法总结

Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm 2. ## 号截取,删除左边字符,保留右边字符. echo ${var##*/} ##*/ 表示从左边开始删除最后(最右边)一个

学习Linux shell脚本中连接字符串的方法

这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"=" echo $value2 把要添加的字符串变量添加{},并且需要把$放到外面. 这样输出的结果是:home=,也就是说连接成功. 又如代码如下: [[email protected] sh]# var1=http://www.3lian.com/etc/ [[email protected] s

shell脚本变量数值计算

1.算数运算符 执行算数运算就离不开各种运算符号,和其他编程语言一样,shell脚本也有运算符号.常见运算符号如下图所示: 上图中的运算符号常用于常见的运算命令,常用运算命令如下图所示: 2.双小括号"(())"运算命令 2.1 双小括号数值运算的基础语法 双小括号"(())"的作用是进行数值运算与数值比较,它的效率很高. 2.2 双小括号数值运算案例 案例1:利用"(())"进行简单的运算 [[email protected] ~]# echo

Shell脚本变量判断参数命令

系统变量 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2 $? 上个命令的退出状态,或函数的返回值.成功返回0,失败返回1 $# 传递给脚本或函数的参数个数 $* 所有这些参数都被双引号引住.若一个脚本接收两个参数,$*等于$1$2 $0 正在被执行命令的名字.对于shell脚本而言,这是被激活命令的路径 [email protected] 被双引号(” “)包含时,与 $* 稍有不同.若一个脚本接收到两个参数,[email protect

Linux mysql shell脚本 变量和环境变量 位置参数 预定义变量 运算符 判断 流程控制 for循环 与用户交互 函数

mysql 1. 卸载旧版本 rpm -qa | grep mysql 检查是否有旧版本 查询结果:mysql-libs-5.1.73-7.el6.x86_64 rpm -e mysql-libs 删除旧版本 rpm -e --nodeps mysql-libs 强行删除 2. 安装mysql 2.1 安装源码需要编译 下载c的编译工具 yum -y install make gcc-c++ cmake bison-devel ncurses-devel 2.2 xftp连接上传 xftp连接上

linux学习之shell脚本 ------- 变量

[本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020] 今天来看一下Shell中的一些变量. 变量类型: Shell中有以下几种变量: 1) 本地变量 2) 环境变量 3) 位置变量 4) 标准变量 5) 特殊变量 1) 本地变量 本地变量在用户现在的Shell生命周期的脚本中使用. 用法: variable-name=value set: 可以显示本地所有的变量 注意,本地变量如果加上readonly,则该本地变量不能被修改,

Shell脚本中替换字符串等操作

在做shell批处理程序时候,常常会涉及到字符串相关操作. 有非常多命令语句.如:awk,sed都能够做字符串各种操作. 事实上shell内置一系列操作符号.能够达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.推断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var同样     ${var-DEFAULT} 假设var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 假设var没有被声明, 或者其值为空

shell脚本编程之字符串测试及循环

==:两个字符串是否相等 !=:两个字符是否不等 >:某个字符串是否大于另一个字符串 <:某个字符串是否小于另一个字符串 -n string:测试指定字符串是否为空 -s string:测试指定的字符串是否不空 例如 判断用户名与组名是否一样 #!/bin/bash if  ! id $1 &>/dev/null; them echo"nouser" exit fi if [ `id –n –u $1` == `id –n –u $1` ]; then ech

shell 脚本 变量 获取程序输出结果异常分析

#! /bin/bash pid=$(pgrep hello) echo ${pid} 脚本名称是 hello_test.sh 当hello进程存在时,总是返回两个值 当hello进程不存在时,返回值并不为空,总是返回一个值,多次运行,返回的值并不固定 当然,以上都不是期望的结果. 为什么不存在时,也会返回呢,并且返回值不一样,记得好像有一个内部变量记得上次shell进程的pid, 应该是这样. 经人提醒,脚本是不是也是hello.sh,终于恍然醒悟,脚本名是hello_test.sh,也包含h