码迷,mamicode.com
首页 > 系统相关 > 详细

shell 入门基础

时间:2016-01-17 06:27:16      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

一、 Shell变量

  1. 变量可分为两类: 环境变量(全局变量) 和 局部变量 。

    环境变量 : 所有的环境变量都是系统全局变量,可用于所有子进程中,这包括编辑器、shell脚本和各类应用 。 

         环境变量可以在命令行中设置,但用户退出时这些变量值也会丢失,因此最好在用户家目录下的.bash_profile文件中或全局配置

          /etc/bashrc、/etc/profile文件或者/etc/profile.d/ 中定义 。 将环境变量放入profile文件中 , 每次用户登录时这些变量值都将被初始化

         所有环境变量均为大写。

         环境变量应用于用户进程前,必须用export命令或source或"."命令导出。

         通过百度 查看一些linux常用的系统环境变量。

         常用的环境变量 : 

           (1) 修改 history命令显示的历史命令记录数:  HISTFILESIZE=5  

                                HISTSIZE=5

           (2) 查看系统文件的类型:  $HOSTTYPE

           (3) 查看系统主机名:  $HOSTNAME

    局部变量 : 

         定义变量 : (1) 变量名=value

                (2) 变量名=‘value‘ , 使用单引号中的内容是什么就是什么,里面如果有变量是不会进行解析的。

                (3) 变量名="value" , 使用双引号引的内容中,如果有变量会将变量解析成内容进行显示

         考题 : a = 192.168.1.2

              b = ‘192.168.1.2‘

              c = "192.168.1.2"

              a = 192.168.1.2 - $a

              b = ‘192.168.1.2 - $a‘

              c = "192.168.1.2 - $a"

              echo "a = $a"

              echo "b = $b"

              echo "c = ${c}"

              注:  $a 与 ${c} 是一样的效果

           答案 : a = 192.168.1.2 - 192.168.1.2

             b = 192.168.1.2 - $a

             c = 192.168.1.2 - 192.168.1.2 - 192.168.1.2

         将变量作为内容的两种方式:

            (1) cmd = `date + %F`

            (2) cmd = $(date + %F)

           什么时候使用${var}这种带大括号的场景 ?

            如: tar -xzvf fcz_$pwd_log.tar.gz  ,系统不知道是pwd做为变量 还是 pwd_log做为变量

              此时如果使用大括号 tar -xzvf fcz_${pwd}_log.tar.gz 明确告诉系统pwd是变量,而pwd_log不是变量 。

      

 

shell 入门基础

标签:

原文地址:http://www.cnblogs.com/ytfcz/p/5136701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!