• 用set和shopt设置bash选项


    1、set命令

    -o打开选项,+o关闭选项
    #set -o //显示选项设置
    #set -o noclobber //打开该选项,重定向将覆盖已存在的文件
    #set +o noclobber //关闭该选项,防止重定向覆盖已存在的文件
    #set -o allexport //打开该选项,它导致所有的变量都自动输出给子shell
    # set +o nounset 或 set -u //使用未声明变量时脚本退出
    # set +o errexit 或 set -e //如果命令运行失败让脚本退出执行

    #echo $SHELLOPTS //显示set设置的选项

    cb@cb-ThinkPad-T450:~$ set -o|grep on
    set -o|grep on
    braceexpand on
    hashall on
    histexpand on
    history on
    interactive-comments on
    monitor on
    onecmd off
    verbose on

    cb@cb-ThinkPad-T450:~$ echo $SHELLOPTS
    echo $SHELLOPTS
    braceexpand:hashall:histexpand:history:interactive-comments:monitor:verbose

    $export SHELLOPTS //如果export SHELLOPTS这个变量,子进程 Shell 会获取到这个环境变量的值,解析之后,打开这些继承来的选项

    2、shopt命令

    作用和set命令基本相同,适用于新版本的bash(2.x+),相对于set增加了许多选项。-u表明选项没有被设置,-s表明选项已被设置
    #shopt -p //显示选项设置情况,有的set支持的选项不显示
    shopt -u autocd
    shopt -u cdable_vars
    shopt -u cdspell
    shopt -u checkhash
    shopt -u checkjobs
    shopt -s checkwinsize
    ......

    #shopt -s cdspell //设置cdspell选项
    #shopt -u cdspell //关闭cdspell选项
    #shopt -o errexit //显示set支持的errexit选项的设置值,但用-s选项设置不了。
    errexit off

    #echo $BASHOPTS //显示shopt设置的选项

    cb@cb-ThinkPad-T450:~$ shopt -p|grep '-s'
    shopt -p|grep '-s'
    shopt -s checkwinsize
    shopt -s cmdhist
    shopt -s complete_fullquote
    shopt -s expand_aliases
    shopt -s extglob
    shopt -s extquote
    shopt -s force_fignore
    shopt -s gnu_errfmt
    shopt -s histappend
    shopt -s interactive_comments
    shopt -s progcomp
    shopt -s promptvars
    shopt -s sourcepath


    cb@cb-ThinkPad-T450:~$ echo $BASHOPTS
    echo $BASHOPTS
    checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:gnu_errfmt:histappend:interactive_comments:progcomp:promptvars:sourcepath

  • 相关阅读:
    StackOverFlow 最有影响力的IT书箱 [Share]
    Principles of Distributed Computing [Share]
    C/C++ 命令行参数
    函数指针
    coursera-北大-计算概论【已完成】
    有关宏定义一题
    blog.163.com 崩溃以后~
    一步步学习SPD2010--第十一章节--处理母版页
    一步步学习SPD2010--第十章节--SP网站品牌化(12)--关键点
    一步步学习SPD2010--第十章节--SP网站品牌化(11)--使用CSS报表
  • 原文地址:https://www.cnblogs.com/pandachen/p/7077426.html
Copyright © 2020-2023  润新知