zoukankan      html  css  js  c++  java
  • 74、shell 小知识两点,提示符,特殊变量,export

    1、关于提示符,特殊变量

    1)Bash有两级提示符。第一级提示符是经常见到的Bash在等待命令输入时的情况,默认值是$符号,PS1为变量值。第二级提示符是当Bash为执行某条命令需要用户输入更多信息时显示的,默认为>,变量值为PS2

    2)Bash有一些特殊变量,能控制shell以不同的方式工作。例如,变量noclobber能防止在重定向输出时意外地覆盖一个文件。通过set命令可以设置noclobber变量的有效或无效。set命令有两个参数:一个是指定变量开(on)或关(off)的选项,一个是特殊变量的变量名。要使某一特殊变量开(有效),用-o选项,要使其关(无效),用+o选项。例如:

    $ set -o noclobber // 使noclobber变量开

    $ set +o noclobber // 使noclobber变量关

    3)ignoreeof变量用来禁止使用ctrl+d来退出shellctrl+d不仅用来退出shell,而且可以终止用户直接输往标准输出上的输入。

    $ set -o ignoreeof

    4)noclobber变量可以在重定向输出时保护已存在的文件,防止被意外地覆盖。

    5)设置noglob变量后,shell将不扩展文件名中一些特殊的字符或字符串。如字符*?[]等将不再作为通配符。

    2、关于export

        用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell。 当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。

        在子shell中定义的变量只在该子shell内有效 。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。

    3、用户可以将每次启动Bash所需要执行的命令放入初始化文件中,最常见的命令就是alias命令和变量定义两种。系统中的每个用户在其主目录中都有个.bash_profile文件,Bash每次启动时都将读取该文件,其中包含的所有命令都将被执行。

    参考

    1http://blog.csdn.net/clozxy/article/details/5652275

  • 相关阅读:
    分布式中各种概念汇总
    JMS
    spring boot jpa mysql
    spring boot 视图层(JAVA之学习-2)
    idea+spring boot的初学(JAVA学习之1)
    Yii在cli模式下执行一些脚本的配置
    在centos下安装django
    python简单的发送邮件
    ElasticSearch-PHP的API使用(二)
    Elasticsearch的PHP的API使用(一)
  • 原文地址:https://www.cnblogs.com/mydomain/p/2247230.html
Copyright © 2011-2022 走看看