使用shell:变量和选项

来源:互联网 发布:电脑编程与技巧 编辑:程序博客网 时间:2024/05/16 17:06

1.交互式shell和非交互式shell

          shell 1.是一个命令解释器 2.支持一些类型的编程语言,用来编写由shell解释的程序,这些程序称为shell脚本。

           交互式程序指的是与人进行沟通的程序,如字处理程序。非交互式程序是独立于人运行的程序,如编译器。

           shell既可以从当用户界面,又可作为脚本解释器。

          使用CIL要打开一个终端窗口或者使用一个虚拟终端。这是交互式

           创建一组命令即shell脚本,并保存在一个文件中,运行脚本时,shell从文件中读取命令并处理所有命令。这是非交互式的。

2.环境、进程、变量

          一个运行的shell是一个进程,从shell启动的程序也是一个进程。

          变量是一个储存数据的实体。Unix shell有两种不同的类型的变量。分别称为“shell变量”和“环境变量”。shell中的变量 几乎总是储存字符串变量。

           如果你在shell启动了vi文本编辑器,也就是一个进程启动了另一个进程。子进程创建时,系统为子进程复制了父进程的环境,这意味着父进程与子进程都可以访问所有环境变量。

3.环境变量和shell变量

          可以认为环境变量是全局变量。shell变量不从父进程传到子进程,可以称shell变量为局部变量。

          通常句局部变量以两种方式运行。一种是存放对shell有意义的信息。第二种是shell变量在shell脚本中以普通程序中局部变量的使用方式使用:作为临时存储容器。

4.显示环境变量:env  printenv

          除非编写程序,否则你无需创建环境变量和shell变量。大多时候使用的是默认变量。

           可以用env 或者 printenv显示默认变量。环境变量可能有许多,建议用less命令一屏显示

            env | less

           

5.显示shell变量

          set

6.显示和使用变量的值:echo   print

        上面的命令显示所有变量的值。大多时候只希望显示一个变量的值

        例如显示TERM的值

        echo ${TERM}

        echo $TERM

        $变量名称  指的是该变量的值。注意echo TERM 只显示字符串TERM

7.Bourne shell家族使用变量:export unset

8.C-shell家族使用变量: setenv  unsetenv  set unset

9.shell选项

             shell选项就像开关一样,打开选项就说设置了这个选项,关闭这个选项,就说复位了这个选项

              设置这个选项可以用如下命令

              set -o 选项

              复位这个选项

              set +o   opinion

10..显示shell选项

               Bourne shell用shell选项控制shell的操作。要显示shell选项的当前值可用

                set -o  或    set  +o

11.机器可读  人类可读

       机器可读说的是适合作为程序输入                 人类可读说的是适合人类阅读

       如set -o 以一种易于阅读的方式显示输出  人类可读

           set +o  显示的输出适合用作shell脚本的数据

 

 

                                                                                                    使用shell:命令和定制

      bourne shell将sell提示设置成为一个$字符加上看一个空格

     export PS 1="$"

     所有Bourne shell都将提示的值存储于一个叫PS1的变量里,使用export可以改变环境变量的值

12.使用变量的值

          如果将用户标识插到提示中可用

           export  PS1="${USER}$

14.命令替换

    ‘            ’

16..历史列表      

17.自动补全

23.命令行编辑  bindkey

       set -o vi

24.别名

      别名用来简化输入的命令

25.临时挂起别名

           如果你发现使用ls 时总是使用 -l  选项  你可简化

            alias ls="ls -i"