欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2022-10-24 16:55:57
@ "TOC" shell编程的建立 就建立了一个名叫mytest的文件 vim编辑器没有接触过,你就需要学习一下啊,这里介绍几个简单的命令: 单点I进入插入模式 Ctrl+c退出插入模式 在浏览模式按下“:”,再输入q是不保存退出、wq是保存并退出 shell的hello world! 执行脚本的 ......

@(shell编程)

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编程中的变量