用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
?
轉載于:https://www.cnblogs.com/pandachen/p/7077426.html
總結
以上是生活随笔為你收集整理的用set和shopt设置bash选项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java并发编程实战 第13章 显式锁
- 下一篇: javascript中==和===的区别