BASH系列(4)—— BASH变量操作

  • 变量(字符串)变换
定义一个变量t,内容为framE
[[email protected] tmp]# t=framE

查看变量t的内容:echo $t或者是echo ${t}
[[email protected] tmp]# echo $t
framE
[[email protected] tmp]#

将变量t的首字母大写:echo ${t^}
[[email protected] tmp]# echo ${t^}
FramE
[[email protected] tmp]# 

将变量t的所有字母大写:echo ${t^^}
[[email protected] tmp]# echo ${t^^}
FRAME
[[email protected] tmp]# 

将变量t的首字母小写:echo ${t,}
[[email protected] tmp]# echo ${t,}
framE
[[email protected] tmp]#

将变量t的所有字母小写:echo ${t,,}
[[email protected] tmp]# echo ${t,,}
frame
[[email protected] tmp]# 

将变量t的首字母大小写切换:echo ${t~}
[[email protected] tmp]# echo ${t~}
FramE
[[email protected] tmp]#

将变量t的所有字母大小写切换:echo ${t~~}
[[email protected] tmp]# echo ${t~~}
FRAMe
[[email protected] tmp]# 

总结:

^:首字母大写
^^:所有字母大写
,:首字母小写
,,:所有字母小写
~:首字母大小写切换
~~:所有字母大小写切换
  • 移除匹配的字符串
定义一个变量filename,该变量的值为pwd所对应的当前路径
[[email protected] network-scripts]# filename="$(pwd)"
[[email protected] network-scripts]# echo $filename
/etc/sysconfig/network-scripts
[[email protected] network-scripts]# 

从前往后删,删除掉最短的一个"/"
[[email protected] network-scripts]# echo ${filename#*/}
etc/sysconfig/network-scripts
[[email protected] network-scripts]# 

从前往后删,删除掉最长的一个"/"
[[email protected] network-scripts]# echo ${filename##*/}
network-scripts
[[email protected] network-scripts]# 

从后往前删,删除掉最短的一个"/"
[[email protected] network-scripts]# echo ${filename%/*}
/etc/sysconfig
[[email protected] network-scripts]# 

从后往前删,删除掉最短的一个"/"
[[email protected] network-scripts]# echo ${filename%%/*}

[[email protected] network-scripts]# 

#:从前往后删,删除掉最短的一个
##:从前往后删,删除掉最长的一个
%:从后往前删,删除掉最短的一个
%%:从后往前删,删除掉最长的一个



  • 查找与替换
查看变量filename的内容:
[[email protected] network-scripts]# echo $filename
/etc/sysconfig/network-scripts
[[email protected] network-scripts]#

将第一次出现的小写s替换成大写的S
[[email protected] network-scripts]# echo ${filename/s/S}
/etc/Sysconfig/network-scripts
[[email protected] network-scripts]#

将所有的小写s替换成大写的S
[[email protected] network-scripts]# echo ${filename//s/S}
/etc/SySconfig/network-ScriptS
[[email protected] network-scripts]# 

总结:
/match/value:将第一次出现的match地换成value
//match/value:将所有的match替换成value


  • 其他字符串的操作符
查询字符串的长度:echo {#filename}
[[email protected] network-scripts]# echo ${#filename}
30
[[email protected] network-scripts]# 

字符串切片操作:${filename:offset:length}  offset从0开始
[[email protected] network-scripts]# echo ${filename:5:9}
sysconfig
[[email protected] network-scripts]#



时间: 2025-01-04 08:16:07

BASH系列(4)—— BASH变量操作的相关文章

BASH系列(2)——变量

注意: 1.脚本在执行时,会在当前shell下启动一个子shell进程. 2.命令行中启动的脚本会继承当前shell的环境变量. 3.系统自动启动的脚本(非命令行启动)就需要自我定义各种所需要的环境变量. 环境变量:声明环境变量的格式export VARNAME=VALUE  作用域:当前shell进程及其子进程. 本地变量:声明本地变量的格式VARNAME=VALUE. 作用域:对整个脚本进程或整个bash进程有效. 局部变量:声明局部链路的格式local VARNAME=VALUE. 作用域

bash变量操作

1.条件变量替换: Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换 条件放在{}中. (1) ${value:-word} 当变量未定义或者值为空时,返回值为word的内容,否则返回变量的值. (2) ${value:=word} 与前者类似,只是若变量未定义或者值为空时,在返回word的值的同时将 word赋值给value (3) ${value:?message} 若变量以赋值的话,正常替换.否则将消息message送到标准错误输出(若 此替换出现在Shel

bash脚本编程之变量、变量类型、条件测试、算术运算、及特殊变量

一.学习目的 1.了解bash脚本的变量类型及变量的使用 2.了解bash中条件测试的种类及如何在bash中实现条件的判断 3.学会在bash中做算术运算 4.了解特殊变量的使用 二.学习内容 1). ①.bash的变量类型: 环境变量 .本地变量.局部变量.位置变量.特殊变量 环境变量: export VALUENAME = VALUE 作用领域是当前的shell进程及其子进程 本地变量: VALUENAME= VALUE 作用领域为整个bash的进程 局部变量:local VALUENAME

bash特性小结&bash变量

时间就是金钱 效率就是生命 一.bash编程 |---------------| |应用           | |-----------|   | |壳|库函数 |    | //可以直接针对系统调用编程 |---------------| |系统调用       | |---------------| |内核           | |---------------| |硬件           | |---------------|     现在程序开发更重视程序开发的速度-因此Pytho

Bash Shell脚本编程-变量知识

Shell:GUI  CLI 提供交互式接口:提高效率 命令行展开:~ ,{} 命令别名:alias 命令历史:history Globbing:*,?,[],[^] 命令补全:$PATH指定的目录下 路径补全:TAB键 管道:| 输入输出重定向:>    >> 提供编程环境: bash自动运行脚本机制 面向过程(以指令为中心组织数据)的编程模型 脚本编程 输入指令解决问题 程序是语句和表达式组成的 运行时根据一定流程来执行: 顺序执行 选择执行 循环执行 程序是指令+数据的 面向对象(

bash下的环境变量

变量的定义:简单说就是让某个特定的字符串代表不固定的内容. 变量的分类: 环境变量:bash下的环境变量

bash shell简介及变量

一.简介 Bash(GNU Bourne-Again Shell):是shell的一种: 是一个命令语言解释器(command-language interpreter):可以兼容大多数其他shell的语言:其历史及详细介绍请点击:(https://en.wikipedia.org/wiki/Bash_%28Unix_shell%29#Brace_expansion) 二.bash变量 2.1变量命名法则 (1)不能使用程序中的关键字:if, elif, fi, then, for, ... (

Linux学习笔记--bash脚本编程之一变量、变量类型

bash脚本编程之一变量.变量类型 shell编程: 编译器,解释器 编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言 强类型(变量)语言 事先转换成可执行格式 C.C++.JAVA.C# 动态语言:解释型语言       on the fiy                                   弱类型 边解释边执行 ASP.ASP.net.PHP.shell.Python.perl 面向过程:shell.C   面向对象:JAVA.Python .Perl.C++

Linux基础之bash脚本编程初级-变量

什么是变量? 变量最初来源于数学,指的是非固定的值可变化的数通常用拉丁字母表示.在计算机中变量它依旧指的是可变化的数,只不过表现形式有些变化.它指的是变量名+所指向的内存空间. 以下实验环境均在CentOS7.2进行 变量的特点 变量分强类型变量,与弱类型变量 强类型变量:变量需事先声明且需提前定义其变量存储格式 弱类型变量:不需事先声明,不需定义变量存储格式. bash把所有变量统统视作字符型:bash中的变量无需事先声明,相当于,把声明和赋值过程同时实现. 变量名的命名规范: 变量名只能包含

Linux 变量操作记录

变量操作总结: ${Var:-Value}        变量Var 为unset 或 null  则输出Value. 有值则输出变量Var的值. ${Var:=Value}        变量Var 为unset 或 null  则输出Value,并且赋值于变量Var. 同上. ${Var:+Value}        变量Var 为unset 或 null  则输出变量Var. 有值则输出Value. ${Var:?Value}        变量Var 为unset 或 null  则输出