8.shell中的变量(内含:su - 与su的区别)

1.什么是变量?

变量 在程序运行过程中值是允许改变的量。

变量可以保存程序运行时用户输入的数据、特定运算的结果以及要在窗体上显示的一段数据等。简而言之,变量是用于跟踪几乎所有类型信息的简单工具。

变量是用一串固定的字符来表示不固定值的一种方法

变量是一种使用方便的占位符,用于引用计算机内存地址.该地址可以存储Script运行时可更改的程序信息。使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。

变量:是内存地址的别名,是一个地址符($USER)

在shell中变量是不能永久保存在系统中的,必须在文件中声明

2.变量的种类及变量定义方法

(1)环境级变量:只在当前shell中生效,开启新的shell不生效,当前shell关闭后变量会丢失

定义方法:export a=8
export—声明,共享
在这里插入图片描述

(2)用户级变量:写在用户家目录下的.bash_profile文件中,只针对当前用户生效

定义方法:
vim ~/.bash_profile
export b=9

在这里插入图片描述
在这里插入图片描述
source—不是刷新,而是读取添加

(3)系统级变量:写在系统的配置文件/etc/profile 或 /etc/profile.d 中,对所有用户生效

定义方法:
vim /etc/profile
export c=6

在这里插入图片描述
在这里插入图片描述
env 命令可查看系统中已定义的变量


切换用户时,使用su - usernamesu username 的区别

su -:加载/etc/bashrc文件,也加载/etc/profile文件,加载系统中的环境变量
su:只加载/etc/bashrc文件,不会加载/etc/profile文件,即不会加载系统的环境变量

3.变量名称规范

变量名称中通常包含大小写字母[ a-z/A-Z ]数字[ 0-9 ]下划线[ _ ](不是必须的)

4.字符的转译及变量的声明

字符说明
\转义单个字符
""弱引用,批量转义“”中出现的字符
''强引用,批量转义‘’中出现的字符
${}变量声明

''""的区别:" " 不能转译 \,`,!,$,而 ‘ ’ 可以
在这里插入图片描述

5.变量值传递

字符说明
$0脚本名
$1脚本后的第一串字符串
$2脚本后的第二串字符串
$3脚本后的第三串字符串
$#脚本后所跟字符串的个数
$*脚本后跟的所有字符串,模式为“1 2 3”
$@脚本后跟的所有字符串,模式为“1” “2” “3”

在这里插入图片描述
在这里插入图片描述


$*$@的区别如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


6.利用命令执行结果设定变量

(1)$() = ``
hostname=$(hostname)

等效于

hostname=`hostanme`

在这里插入图片描述
在这里插入图片描述

(2)$?

$? 是命令在执行完后产生的退出值,范围是[ 0-255 ]
$?=0 时表示命令执行没有错误输出
$? 的值可以用 exit 命令执行,例如 exit 97
在这里插入图片描述
在这里插入图片描述

7.read 实现变量传递

命令说明
read WORD将输入赋给变量WORD
read -s WORD1将输入赋给变量WORD1,不回显
read -p "Please Input : " WORD2显示Please Input : 并将输入赋给变量WORD2

在这里插入图片描述
在这里插入图片描述

8.Linux系统中命令别名的设定

alias命令
(1)环境级

alias xie='vim'

alias
xie /etc/passwd
bash		/*开启一个新环境*/
xie /etc/passwd		/*不能识别xie命令*/
exit

在这里插入图片描述

(2)用户级

vim /root/.bashrc
alias xie='vim'

source /root/.bashrc
xie		/*进入vim界面*/
su - student
xie		/*不能识别xie命令*/

source 不是刷新,而是读取文件中添加的信息,若文件中删除了信息,则不需要使用source命令
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)系统级

vim /etc/bashrc
alias xie='vim'

xie
su - student
xie		/*可识别xie命令*/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)取消命令别名的设定
vim /etc/bashrc		/*系统级*/
	#alias xie='vim'
vim /root/.bashrc		/*用户级*/
	#alias xie='vim'
unalias xie		/*环境级*/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.脚本中的函数

(1)函数的定义

函数 是一组命令,这些命令被赋予一个名称,该名称的作用类似于该组命令的句柄。 要执行函数中定义的这组命令,只需使用提供的名称调用该组命令即可。
脚本中的函数是把一个复杂的语句块定义成一个字符串的方法
函数:名称+动作

(2)函数的优点

<1>缩减脚本长度
<2>使脚本可循环运行
<3>提高程序的可读性和重用性

(3)函数的定义

方法一:

function_name ()
{
    statement1
    statement2
    ....
    statementn
}

方法二:

function function_name()
{
   statement1
   statement2
   ....
   statementn
}
(4)函数的调用
1>调用方法

用户就可以通过函数名来调用该函数。在Shell中,函数调用的基本语法如下:
function_name parm1 parm2

2>先定义后调用
3>对于同名的函数,后面的会覆盖前面的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值