Linux 脚本中使用变量的几个问题

来源:互联网 发布:淘宝追评时间限制 编辑:程序博客网 时间:2024/05/15 12:08

最近需要将本地hadoop服务器上的数据全部迁移到阿里云系统的服务器上,因此对LINUX SHELL中变量的使用方法进行了详细的研究。

LINUX SHELL中定义的变量有5种类型:本地变量、环境变量、位置变量、标准变量、特殊变量。(前面3种在本次导数中都有使用,因此进行详细说明)

注意:LINUX  BASH中的变量使用无需事先声明,没有数据类型的区别,变量的值都是以字符串的形式进行保存的,如果要进行数值计算,就需要对这些变量进行数值转换。


  • 这几种变量的准确含义及查看方法如下:

  1. 本地变量(用户自定义变量)/(局部变量):在当前SHELL环境下获得赋值,一旦当前SHELL关闭,变量的生存周期就结束了。查看当前SHELL的本地变量可以使用:set命令
  2. 环境变量(全局变量):可作用于当前SHELL下的所有子SHELL进程。在我的导数任务过程中需要使用到的系统数据库地址,用户名和密码即可以设置为当前SHELL的全局变量。查看当前SHELL的环境变量可以使用env命令 或者 export命令 查看。
  3. 位置变量(相当于程序中的参数):BASH将从键盘读入的传递给脚本的参数保存在位置变量中,以便在脚本中使用这些参数。在我的导数任务中,需要程序的运行需要读入导入的数据的数据记录开始时间和数据记录结束时间,这个参数的传递使用位置变量。在SHELL中位置变量一般允许$0-$9这10个位置变量,其中$0代表程序本身,$1-$9代表第一到第九个参数。10个以上可以使用${n}。在本次导数中,我将开始导数的时间使用位置变量进行赋值。如下
  4. 标准变量:BASH环境建立的一些标准环境的变量。
  5. 特殊变量:LINUX BASH的特殊变量这里不再展开说明,以后用到再进行详细研究。

  • 这几种变量的赋值方法和调用方法

本地变量

         赋值方法:变量名=值 (注:等号两边不能有空格;变量名中不能包含空格,首字符必须为字母,可以包含下划线,不能跟BASH的关键字相同; 值中一般不能出现空格,如果有空格需要使用引号)

调用方法:$参数名



环境变量

环境变量可以保存到/etc/profile文件中,在其它的shell中都可以进行引用,例如export  var1=4,在其它脚本中可以直接进行引用,前面加上环境变量路径 source /etc/profile

        
0 0