linux学习(七)Shell编程中的变量

时间:2021-03-13 17:16:35

@

shell编程的建立

[root@localhost ~]# vi mytest

就建立了一个名叫mytest的文件

vim编辑器没有接触过,你就需要学习一下啊,这里介绍几个简单的命令:

  • 单点I进入插入模式
  • Ctrl+c退出插入模式
  • 在浏览模式按下“:”,再输入q是不保存退出、wq是保存并退出

shell的hello world!

echo 你想要输出的内容

linux学习(七)Shell编程中的变量

执行脚本的方法:

sh 你创建的shell脚本的名字
bash 你创建的shell脚本的名字

打开一个子shell去读取,不需要有执行权限

或者

source 你创建的shell脚本的名字

区别:在当前shell内执行、且不需要有执行权限,source可以替换成.

. 你创建的shell脚本的名字

或者

./你创建的shell脚本的名字

打开一个子shell,但是需要有执行权限

linux学习(七)Shell编程中的变量

Shell的环境变量

相当于window系统下的环境变量

环境变量 说明
PATH 指定命令的搜索路径,以冒号为分隔符
HOME 指定用户的主工作目录
HISTSIZE 命令历史文件
LOGNAME 当前的登录名
HOSTNAME 主机的名称
SHELL shell的全路径名
TERM 用户控制终端的类型
PWD 当前工作目录的全称
PS1 命令基本提示符,root用户是“#”,对于普通用户是“"$"

环境变量一般都大写,系统启动以后自动加载,可写的环境变量用户可以随时修改

使用和设置环境变量

linux学习(七)Shell编程中的变量

命令 说明
echo 显示某个环境变量值
export 设置一个新的环境变量
env 显示所有环境变量
set 显示本地定义的Shell变量
unset 消除环境变量
readonly 设置只读环境变量

如图设置PI环境变量为3.1415926

linux学习(七)Shell编程中的变量

env命令查看

linux学习(七)Shell编程中的变量

linux学习(七)Shell编程中的变量

Shell的系统变量

Shell的系统变量主要在对参数和命令返回值进行判断时使用,包括脚本和函数的参数,以及脚本和函数的返回值。

常用系统变量

系统变量 说明
$0 Shell程序名
$1-$9 第1~9个命令行参数的值
$* 传递给脚本的所有参数,全部参数合为一个字符串
$ # 传递给脚本的参数个数
$ $ 当前进程的ID
$ ? 最后执行一条命令的退出状态,返回值为0则成功,非0则失败
$ ! 在后台运行最后一个进程的ID

命令行参数的个数大于9的个时,可以使用shift指令将参数左移,获取第10个以后的参数。也可以用shift n将所有参数一次性左移n位

linux学习(七)Shell编程中的变量

linux学习(七)Shell编程中的变量

用户自定义变量

用户自定义变量在Shell脚本中使用,他们拥有临时的存储空间。在程序执行中值可以改变,这些变量可以设置为只读。

在程序中使用变量值的时候,要在变量名前面加一个字符“$"。这个符号告诉Shell要取出变量的值(”==“两边不能有空格)

linux学习(七)Shell编程中的变量

上图输出加了$的值为这个变量的值,不加就直接输出了字符串

当复制给变量含有空格、制表符、或者换行符时,要用双引号把这个字符串引起来

当然赋值也可以像下图所示:

linux学习(七)Shell编程中的变量