• shell简介及变量的定义查看撤销


    1.shell分类及相关软件

     图形界面Shell(Graphical User Interface shell  GUI shell),如:GNOMEKDE

    命令行式Shell(Command Line Interface shell ,即CLI shell),如:bash/sh/ksh/cshUnix/linux 系统)

    Shell软件有:Bourne shell cshell   Korn shell Bourne Again shell(bash)  POSIX shell

    AIX下是Korn Shell.    ---IBM

    Solaris缺省的是Bourne shell.    ---SUN

    FreeBSD缺省的是C shell     --免费

    HP-UX缺省的是POSIX shell.    --惠普

    LinuxBourne Again shell.  ---bash

    2.变量的声明与引用、撤销

    定义本地变量: declare        //内部命令,用来声明变量,并可以指定变量类型

            选项:       -i                                                              //声明为整型

              -a                  //声明为数组

             -r                  //声明变量为只读

             -x                  //声明环境变量

     注意:declare作用范围仅限于当前源程序文件(加了选项 -x除外),SHELL来讲:仅对当前shell进程生效,对子进程或者其他shell无效。
    注意:变量名只能包含字母,数字和下划线三类字符
    注意:当变量声明为整型时,赋值字符型,其值为0

    例子:

     [lbg@lbg root]$ declare -i a=123

    [lbg@lbg root]$ echo $a

    123

    [lbg@lbg root]$ declare -i a=abc

    [lbg@lbg root]$ echo $a

    0

    入子进程的方法:

     进入子进程的方法:直接输入bash即可:[lbg@lbg root]$ bash(可通过pstree命令验证查看)


    定义环境变量:
    export 

     export var_name=value     // 作用范围:当前shell及其子shell

    例子:

     [lbg@lbg root]$ export yy=111          ---定义环境变量yy,并赋值为111

    [lbg@lbg root]$ bash

    [lbg@lbg root]$ echo $yy

    111

    [lbg@lbg root]$ exit

    exit

    [lbg@lbg root]$ echo $yy

    111

    变量的引用:${a}

     $a                       //引用变量a

    规范做法是${a}     //花括号在有时候是可以省略的

    例子:

     [lbg@lbg root]$ declare -i b=234

    [lbg@lbg root]$ echo $b

    234

    [lbg@lbg root]$ echo ${b}

    234 


    环境变量的查看:
     

     命令: env / printenv /export

    [lbg@lbg root]$ export

    [lbg@lbg root]$ env

    [lbg@lbg root]$ printenv

    查看修改系统预设的环境变量:echo $PATH

    [lbg@lbg root]$ echo $PATH


    撤销变量:
    unset 变量名

     unset 变量名               //撤销变量时不能加$符号

    环境变量的撤销:unset:环境变量在哪个bash里声明的在哪撤销,否则撤销只在其shell进程生效,其他shell进程无影响,仍可用该变量。

    注意:只读变量不能通过unset撤销.关闭当前shell或脚本运行完后自动撤销.

    例子:

     [lbg@lbg root]$ echo ${b}

    234

    [lbg@lbg root]$ unset b

    [lbg@lbg root]$ echo ${b}

     

    [lbg@lbg root]$ 

    特别的环境变量:PS1/PS2/PS3/PS4

     [lbg@lbg root]$ echo $PS1

    [u@h W]$

    [lbg@lbg root]$ echo $PS2

    >

    [lbg@lbg root]$ echo $PS3

     

    [lbg@lbg root]$ echo $PS4

    +

    变量PS1说明:

      PS1   [u@h W]$                             //定义当前命令提示符,可以使用一些内置的宏来定义

        h              //显示主机名第一个.之前的内容

        H              //完整主机名

        W              //基名  #basename dir_name

        w              //绝对路径

         $              //uid=0-->#,非零为$


    变量PS2        >              :续航符。

     把一个预处理指示写成多行要用”续行,在击回车键之前输入“”,即可实现多行命令输入。

    [root@lbg test]# ls

    a  b  c

    [root@lbg test]# ls a

    > b

    > c

    a  b  c


    说明:
    PS3:不常见

    说明:PS4 +:执行命令时,如果追踪命令执行的话,会在命令之前显示+

     shell 跟踪简单的来说就是跟踪 shell 脚本中的命令的执行。要打开 shell 跟踪,请使用 -x 调试选项。如:Bash -x test.sh  

    特殊变量?

     变量?存放程序执行的状态返回值,0表示正常状态,非0表示异常。

    [root@lbg test]# echo $?          ---为0说明上一个命令正常执行

    0

    变量$HOME表示家目录

     echo $HOME  --显示家目录

    [root@lbg tmp]# echo $HOME

    /root


    变量$HISTSIZE表示history命令保存的记录数:

     [root@lbg tmp]# echo $HISTSIZE

    1000

     

     

  • 相关阅读:
    Delphi 日期函数的单元 DateUtils
    学习官方示例 SysUtils.DecodeDate、DecodeTime
    msp430的常量可以这样定义
    学习官方示例 SysUtils.EncodeDate、EncodeTime、StrToDate、StrToTime、StrToDateTime
    Delphi中Format与FormatDateTime函数详解
    csdn太慢了搬到园子里来
    .net 2.0 真的能与1.1 安全正确地运行在同一台电脑上吗?
    照着这些做,生活自然很开心
    【转】SQL中取当前记录的ID>SCOPE_IDENTITY()
    [转]Windows XP Service Pack 2中弹出窗口拦截器的研究
  • 原文地址:https://www.cnblogs.com/lbg-database/p/10109955.html
Copyright © 2020-2023  润新知