HTML5技术

Linux系列教程(二十二)——Linux的bash变量 - YSOcean

字号+ 作者:H5之家 来源:H5之家 2017-11-19 08:00 我要评论( )

上篇博客我们介绍了bash的一些基本功能,这是我们平时操作最频繁的。本篇博客我们介绍bash的变量,为后面编写shell脚本做铺垫。 1、什么是变量 变量是计算机内存的单元,其中存放的值可以改变。 当 shell 脚本需要保存一些信息时,如一个文件名或者一个数字

  上篇博客我们介绍了bash的一些基本功能,这是我们平时操作最频繁的。本篇博客我们介绍bash的变量,为后面编写shell脚本做铺垫。

1、什么是变量

  变量是计算机内存的单元,其中存放的值可以改变。

  当 shell 脚本需要保存一些信息时,如一个文件名或者一个数字,就把它放在一个变量里。每个变量都有一个名字,可以根据名字来引用变量。

  使用变量可以保存有用信息,使系统获知用户的相关设置,变量也可以保存暂时信息。

2、变量的声明规则

  

  

  

 

   

3、变量的分类

  

4、用户自定义变量的用法

  用户自定义变量也就是本地变量。只在当前 shell 中生效。

  ①、变量定义

变量名=变量值

  

  ②、变量调用

$变量名

  

  ③、变量查看

set

  set 是查看当前系统中定义的所有变量。

  

  ④、变量删除

unset 变量名

 

5、环境变量的用法

  环境变量主要保存的是和系统操作环境相关的变量。

  前面讲的用户自定义变量(本地变量)只在当前shell 中生效,而环境变量会在当前shell和这个shell的所有子shell当中生效,如果把环境变量写入相应的配置文件中,那么这个环境变量就会在所有的shell中生效。

  ①、通过 pstree 命令区分当前shell 的级别是父还是子

  

  ②、声明环境变量

export 变量名=变量值

  ③、查询所有环境变量

env

  前面讲的 set 命令是查看所有变量,而 env 是查看环境变量。

  ④、查看、删除指定环境变量

$变量名 #查看环境变量 unset 变量名 #删除环境变量

  这两个和本地变量一样。

  

  ⑤、系统查找命令的路径环境变量 $PATH

  我们知道调用命令必须要是在当前目录,或者是用绝对路径进行。但是实际上我们调用某个命令直接使用命令名就可以了,比如cd,ls等等这些常用的,这是为什么呢?

  原因就是在 $PATH 里面我们已经定义好了,我们执行某个名称的命令,系统会首先去$PATH里面查找,如果找不到才会报找不到命令错误。

  首先看一下$PATH:

  

  可以看到,$PATH 里面都是保存的一些路径,然后通过:分隔。

  前面我们写过一个 hello.sh 的脚本,我们知道要想执行它,必须首先赋予可执行权限,然后要么在当前目录通过./hello.sh来执行,要么通过绝对路径/tmp/hello.sh来执行。如果我们想直接通过 hello.sh 来执行呢?

  解决办法就将hello.sh的所在路径添加到 $PATH 变量中,如下:

  

  ⑥、定义系统提示符的变量 $PS1

  

  

 

6、位置参数变量的用法

  

  

7、预定义变量的用法

  其实预定义变量也是位置参数变量的一种,有如下几种用法:

  

 8、声明变量类型 declare

  

9、数值运算的三种方法   ①、declare -i 

  

  ②、expr 或 let 数值运算工具

  

  ③、$((运算式)) 或 $[运算式]

  

 

10、运算符及其优先级顺序

  

   

 

11、变量测试与替换

  

 

12、环境变量配置文件

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 极简版ASP.NET Core学习路径及教程 - 腾飞(Jesse)

    极简版ASP.NET Core学习路径及教程 - 腾飞(Jesse)

    2017-11-17 14:02

  • 剖析Linux系统调用的执行路径 - ☆Ronny丶

    剖析Linux系统调用的执行路径 - ☆Ronny丶

    2017-11-06 12:01

  • WebApi系列~HttpClient的性能隐患 - 张占岭

    WebApi系列~HttpClient的性能隐患 - 张占岭

    2017-10-20 08:03

  • [js高手之路]html5 canvas动画教程 - 下雪效果 - ghostwu

    [js高手之路]html5 canvas动画教程 - 下雪效果 - ghostwu

    2017-10-19 10:02

网友点评
i