Linux入门之shell中的变量与函数

一、变量的定义

(1)变量即在程序运行过程中它的值是允许改变的量。
(2)变量是用一串固定的字符来表示不固定的值的一种方法。
(3)变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script运行时可更改的程序信息。
(4)在shell中变量是不能永久保存在系统中的,必须在文件中声明。

二、变量种类和名称规范

1.变量的种类

  • 环境变量:只在当前shell中生效,shell关闭后,变量会丢失。
  • 用户级变量:被写在用户的骨文件~/.bash_profile中,只针对当前用户生效。
  • 系统级变量:被写在系统的配置文件/etc/profile中,对所有用户都生效
  • PATH环境变量:用来指定系统查找存放命令的目录
    (1)环境变量的修改
export a=1

在这里插入图片描述
(2)用户级变量的修改

vim ~/.bash_profile
export a=2

在这里插入图片描述
(3)系统级变量的修改

vim /etc/profile
export a=5

在这里插入图片描述

2.变量名称的规范
变量名称通常包含大小写字母、数字、下划线(非必须),且不能以数字开头
例如:

  • HELLO_LINUX
  • Hello_Linux
  • hellO_linuX

3.路径设置

vim ~/.bash_profile
export PATH=$PATH:/mnt

在我们系统中有很多命令,在不同的位置都可以使用,如ls、cat等命令,不用知道它的绝对路径。那么我们该怎样设置,才能具备同样的效果呢?
以脚本执行为例,在不同的目录下,输入脚本文件名即可执行脚本。
注意:该操作只做了解,如果写错,我们shell中的命令就会错乱并导致命令不能使用,不是命令被删除了,而是该命令的路径找不到,使用绝对路径就可以使用了。
在这里插入图片描述
三、变量

1.变量的转译和声明

\		##转译单个字符
""		##弱引用,批量转译""中出现的字符
''		##强引用,,批量转译''中出现的字符
${}		##变量声明
其中,""和''的区别是,""不能转译 \、`、!、“$”

在这里插入图片描述
在这里插入图片描述
2.变量值传递

$1	##脚本后的第一串字符串	
$2	##脚本后的第二串字符串
$3	##脚本后的第三串字符串
$#	##脚本后所跟字符串的个数
$*	##脚本后跟的所有字符串,模式为“1 2 3 4”
$@	##脚本后跟的所有字符串,模式为“1” “2” “3” “4”
$$	##查看进程id

在这里插入图片描述
在这里插入图片描述
$$用来查看进程的id,由于该进程结束的非常快,我们可以在脚本中写一个监控命令,然后通过【Ctrl+z】将进程打入后台,再通过【ps f】命令查看进程的id
在这里插入图片描述

$*与$@的区别如下

在这里插入图片描述
3.read实现变量传递

read WESTOS
read -s WESTOS
read -p "input:" WESTOS

在这里插入图片描述
4.数组

a=(1 2 3 4 5)
echo ${a[*]}		##查看所有
echo ${a[0]}		##查看数组中第一个元素
echo ${a[4]}b		##查看第五个元素

在这里插入图片描述
在这里插入图片描述
四、命令别名的设定

1.临时设定

alias 名称='vim'	##临时设定
alias xie='vim'

在这里插入图片描述
2.永久设定

vim .bashrc
alias xie='vim'		##永久设定,只能root用户使用
source .bashrc	

在这里插入图片描述
在这里插入图片描述
我们可以看到,只有root用户可以使用该别名,其他用户不能使用,那是因为.bashrc文件中的设置,只针对当前用户。

3.所有用户生效

vim /etc/bashrc	##所有用户都生效,加‘-’和不加‘-’都生效
alias xie='vim'

在这里插入图片描述
通过设置,在切换用户身份时,不加“-”也可以使用该别名,如果该别名在/etc/profile系统级变量文件中设定,不加“-”可能不会被系统识别,那么用户就不能使用该命令了。
在这里插入图片描述
4.别名的删除

unalias xie		##删除别名
alias			##查看所有使用的别名

在这里插入图片描述
五、利用命令执行结果设定变量

Hostname=$(hostname)
Hostname=`hostname`
$?是命令在执行完成之后产生的退出值,范围是【0-255】,当$0=0时表示命令执行没有错误输出,这个值可以用【exit】命令执行
eg.exit 66

在这里插入图片描述
程序运行的最终返回值可以被修改,但是只能在【0-255】范围内进行修改,超过该范围,则修改无效,系统会报错。
在这里插入图片描述
六、脚本中的函数

脚本中的函数是把一个复杂的语句块定义成一个字符串的方法
在这里插入图片描述
在这里插入图片描述
练习:编写一个脚本,选择执行动作,可以进行操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值