Shell基础及变量

Shell的作用—–命令解释器
shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行结果返回在标准终端上

shell的分类:
<1>Bourne Shell
<2>C Shell

Shell的两种语法类型有Bourne和C,这两种语法彼此不兼容
Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell,其属于Bourne家族

Shell基础:
   1.命令别名:
       #alias  别名='原命令‘
(注:等号两边不能有空格)

alias的作用仅在该次登入的操作,即输入一次alias后,这个修改只在当前的Shell生效,如果重新开启一个Shell,或者重新登陆,则这些alias将无法使用。好在linux中提供alias永久化的方法:
  <1>若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。然后#source ~/.bashrc
  <2>若要让每一位用户都生效别名,则把别名加在/etc/bashrc最后面,然后#source /etc/bashrc

  2.删除别名:
          #unalias 别名

多命令顺序执行:

多命令执行符:
         ;   作用:多个命令顺序执行,命令之间没有任何逻辑联系
         &&    作用:逻辑与,当1正确执行时,2才会执行;1不正确时,2不会执行
         ||      作用:逻辑或,1不正确时,2才会执行;1正确时,2不会执行

   3.管道符:
           命令1  |  命令2
         命令1的正确输出作为命令2的操作对象

   4.tee
        #tee [-a] file
        选项与参数:
          -a: 以累加的方式,将数据加入到file中


   5.echo输出命令:
      #echo [选项] [输出内容]
          -e:支持反斜线控制的字符转换
                       \a 发出警告声
                       \b 删除前一个字符
                       \c 最后不加上换行符号
                       \f 换行且光标移至行首
                       \n 光标移至行首,但不换行
                       \r   光标移至行首,但不换行
                       \t   插入tab
                       \v   与\f次相同
                       \\    插入\字符
                       \nnn  插入nnn(八进制)所代表的ASCII符;
        例如:#echo -e "a\abbbbb"
                  //输出同时会发出报告警声

Shell脚本的基本元素:
<1.>#!/bin/bash 必须的,指出shell的类型
<2.>#注释
<3.>变量
<4.>控制

常见运行Shell脚本方法:

方法1:#sh  ./shell.sh 

方法2:#chmod +x  shell.sh

方法3:# /bin/bash  shell.sh

Shell中的变量和符号:
变量:shell 变量可以保存如路径名、文件名或者一个数字
1.变量名称可以由字母、数字和下划线组成,但是不能以数字开头
2.在Bash中,变量的默认类型都是字符串型,如果要进行数值运算,则必须指定变量类型为数
值型。

变量:
<1.>本地变量:局部变量只在创建他们的shell中使用,可以在shell程序内任意使用和修改他们
<2.>环境变量:可以在创建他们的shell及派生出来的任意子程序中使用。有些变量时用户创建
的,其他的则是专用(比如:PATH,HOME)。是系统封环境的一部分,不必
去定义他们,可以在shell程序中使用他们。还能再shell中记忆修改
<3.>内部变量 :由系统提供的,与环境变量不同,单用户不能修改他们

         1.本地变量:
               本地变量再用户现在的shell生命期的脚本中使用
               变量名=值
             注意:
                  <1>等号两边不可以有空格
                  <2>取值包含空格,必须用双引号括起来
                   <3>Shell变量可以用大小写字母,区分大小写
               变量的声明和使用
                    1.变量是弱类型的(不用声明类型)
                     2.变量声明及赋值格式
                     3.变量的引用
                          $变量名
                          ${变量名}
                           注:变量名为1个字符时建议使用方式1,多余一个字符时建议使用方式2
             显示变量
                   echo命令可以显示单个变量取值,变量名前加$

               echo显示输出:
                  功能说明:显示文字
                       -n 不要在最后自动换行
                       -e  打开反斜杠ESC转义。
                              -help 显示帮助
                              -version  显示版本信息
              清除变量:
                   unset 变量名(注:不需要$)

            2.环境变量
               环境变量用于所有用户进程(通常称为子进程).登陆进程称为父进程
                 通过pstree可以查看
                        1.环境变量可以用于所有子程序,着包括编辑器,脚本和应用
                        2.环境变量可以在命令行中设置,但用户注销时这些值将丢失
                        3.环境变量均为大写
                        4.必须用export命令导出

           3.内部变量
                在程序中做出判断
                        $#   传送给shell程序的位置参数的数量
                        $?    最后命令的完成码或者在shell程序内部执行的shell程序(返回值)
                                 0表示没有错误,其他任何值表示有错误
                       $0      shell程序的名称
                       $*(强调整体)       //所有参数列表,代表"$1 $2 … $n",即当成一个整
                                                        体输出,每一个变量参数之间以空格隔开。 
                       $@(强调独立)     //所有参数列表,代表"$1" "$2" … "$n" ,即每一个
                                                        变量参数是独立的 。也是全部输出。
                       $n        第n个参数
                       $$        本程序的PID
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值