小白linux bash 学习一 变量定义
来源:互联网 发布:工业网络交换机厂家 编辑:程序博客网 时间:2024/05/21 07:57
bash 变量
1 变量
echo $变量 ,可以通过$变量名或者${变量名} 来获取变量的内容
如 echo $PATH
使用env命令即可全部列出系统预设的全部系统变量了。
- PATH 决定了shell将到哪些目录中寻找命令或程序
- HOME 当前用户主目录
- LOGNAME 当前用户的登录名
- HOSTNAME 指主机的名称
- SHELL 前用户Shell类型
- LANG 语言相关的环境变量,多语言可以修改此环境变量
- PWD 当前目录
不过evn 只是显示系统的环境变量。当然还有其他预设的变量 ,看可以使用set 命令查看
set命令不仅会显示系统预设的变量,也可以连同用户自定义的变量显示出来
那么如何定义一个变量,并给他赋值呢?
myname=aaa
这样就完成一个最简单的变量声明和赋值,很简单吧!!
如果我们需要进行更加完整的一些变量赋值,那么就要好好看一下的内容了。
定义变量时候的规则
a. 设定变量的格式为”a=b”,其中a为变量名,b为变量的内容,等号两边不能有空格;
b. 变量名只能由英、数字以及下划线组成,而且不能以数字开头;
c. 当变量内容带有特殊字符(如空格)时,需要加上单引号;如果包含$符号,可以直接定义,不用加单引号
如果变量内容里面需要带单引号,那么就需要在内容外面加上双引号。
d. 单引号可以让特殊字符变成普通字符,
如myname=$PATH ,获得变量PATH的值,赋给变量myname
echo myname
结果是PATH的值
加上单引号 myname='$PATH'
结果是$PATH
e.双引号,可以保留里面的特殊字符的作用
myname="$PATH"
结果是PATH的值
f.转义字符 \ 可以对特殊字符 enter,$ ,\,空格,!等变成一般字符,失去他们的作用
g.如果我们的命令中,需要获取其他命令的结果,那么可以使用$()或者反单引号,一般使用$()更加清晰
以上定义出来的变量是字符串类型变量,如果我们现在执行命令
a=10+10echo $a
10+10
看出来了吧。默认变量是字符串类型的。
如果我们现在需要定义其他类型的变量该怎么做?
可以使用declare 的方法
declare [-a i x r]
-a 数组
-i Integer(数字)
-x 把变量变为环境变量
-r 设置变量为只读类型变量
例如我们现在要定义一个数字类型的变量,并且给他赋值
declare -i sumsum=10+10echo $sum20
如果我们需要一个数组类型的变量
declare -aa[0]='aaa'a[1]='bbb'echo ${a[0]}aaa
如果我们需要查看一个变量的类型
如果我们需要取消某个变量的类型
declare + [a|i] 变量名
前面光讲如何设置变量,如果想取消某个变量怎么办?只要输入”unset 变量名”即可。
以上的这些变量的声明和赋值,只会在当前shell中生效,如果我们切换用户,那么该变量的值就没有了
获取字符串长度:
string="abcd"
echo ${#string} #输出 4
提取子字符串
string="alibaba is a great company"
echo ${string:1:4} //输出liba
string="alibaba is a great company"
echo $(expr index ${string} great )
找出字符串中great的位置
那么如何让自己自定义的变量并不仅仅在当前shell 使用呢
如果想要系统所有的用户都生效,那么需要修改/etc/profile 文件
使用vi命令,在文件中添加一行 ,编辑该文件的时候,如果当前用户对文件没有写入权限,那么需要先切换到系统用户赋予权限或者直接用 root用户进行修改
写入文件之后,可以选择重启系统生效,也可以自行命令立刻生效
未完待续
- 小白linux bash 学习一 变量定义
- 小白linux bash 学习前奏一 文件操作
- linux变量篇(一) 变量定义
- 小白linux bash 学习前奏二 vi操作
- 小白linux bash 学习前奏三 创建用户
- 小白linux bash 学习前奏五 管道命令
- 小白linux bash 学习二 shell Script
- 【Linux学习笔记】24:Bash变量概述
- Linux学习之十二bash脚本之变量、变量类型
- Linux bash 变量
- linux:bash变量:declare
- 详解Linux bash变量
- 详解Linux bash变量
- 详解Linux bash变量
- Linux的Bash变量
- Linux Bash 变量操作
- scala编程学习笔记(一)变量定义函数定义
- Linux学习笔记13 grep,egrep,bash变量
- 2013-2014计算机核心期刊排名
- poj1005——I Think I Need a Houseboat
- CentOS6.5下源码安装gcc-4.8.2安装笔记整理
- 内核态下基于动态感染技术的应用程序执行保护(五 动态感染)
- Qt Creator + opencv2.4.6
- 小白linux bash 学习一 变量定义
- 高速数据采集记录存储回放系统—记录存储带宽6GB/S!
- priority_queue
- 用C#创建PDF表格:iTextSharp的应用
- 辽宁义县第一运输公司魏奇 多年如一日踏实做事BqaSwNK
- Zend framework开发前期准备2
- 详细揭秘相爱25年的梁朝伟刘嘉玲被传婚变内幕Xve34EC
- Bash String Manipulation Examples – Length, Substring, Find and Replace
- C语言中volatile关键字的作用