Linux_shell中的变量

一.变量的定义

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

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

变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息。

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

二.变量的分类

1.环境级变量

Linux_shell中的变量

##export声明,相当于把变量放到公共部分,让子进程可以读到

2.用户级变量

[[email protected] ~]# vim .bash_profile

Linux_shell中的变量

Linux_shell中的变量

3.系统级变量

[[email protected] ~]# vim /etc/profile

Linux_shell中的变量

Linux_shell中的变量

##系统会先加载系统级变量,进入系统生效的是用户级变量。

三.字符转译及变量声明

\ ##转译单个字符

Linux_shell中的变量

"" ##弱引用,批量转译 "" 中出现的字符,

Linux_shell中的变量

'' ##强引用,批量转译 '' 中出现的字符

Linux_shell中的变量

'' 与 "" 两者的区别在于, "" 不能转译 "\","`","!","$"

Linux_shell中的变量

${} ##变量声明

Linux_shell中的变量

$[] ##运算

Linux_shell中的变量

四.变量值传递

$1 脚本后的第一串字符串

$2 脚本后的第二串字符串

$3 脚本后的第三串字符串

$# 脚本后所跟字符串的个数

$* 脚本后跟的所有字符串,模式为“ 1 2 3 ”##一串字符

[email protected] 脚本后跟的所有字符串,模式为“ 1”“2”“3”##多串字符

##$*和[email protected]的区别:$*后面是一串字符,[email protected]后面是三串字符

Linux_shell中的变量

Linux_shell中的变量

五.编辑一个shell当输入的文件少于两个时报错,且用shell建立文件中所存在的用户及密码

[[email protected] mnt]# vim user_create.sh

Linux_shell中的变量

Linux_shell中的变量

六.用read实现变量传递

read  WESTOS

read -s  WESTOS#加密

read -p "input: " WESTOS##显示

Linux_shell中的变量

七.编写脚本:在登录用户和密码时使用交互式传参

[[email protected] mnt]# vim create_user.sh

Linux_shell中的变量

Linux_shell中的变量

八.linux系统中命令别名的设定

临时设定:

[[email protected] mnt]# alias xie='vim'
[[email protected] mnt]# xie

Linux_shell中的变量

Linux_shell中的变量

永久更改:

[[email protected] ~]# vim .bashrc

Linux_shell中的变量

Linux_shell中的变量

[[email protected] ~]# vim /etc/bashrc

Linux_shell中的变量

Linux_shell中的变量

Linux_shell中的变量

删除:

Linux_shell中的变量##要先删除配置文件里之前写的命令

九.用shell编写显示ip状态用退出值执行退出

Linux_shell中的变量

Linux_shell中的变量