前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux的set命令

Linux的set命令

作者头像
Tyan
发布2020-03-20 21:13:15
5.2K0
发布2020-03-20 21:13:15
举报
文章被收录于专栏:SnailTyanSnailTyan

文章作者:Tyan 博客:noahsnail.com | CSDN | 简书

1. set命令介绍

set命令主要用来设置shell,在编写shell脚本时,使用set命令能设置shell的执行方式,根据需求不同,采用的参数设置也不同。set命令也用来显示系统中已存在的shell变量以及设置新的shell变量。

2. set命令的常用参数及作用

  • set

不带参数的set命令用来显示环境变量。

root@3500f62fe5ae:/workspace# set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extquote:force_fignore:histappend:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="3" [2]="48" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='4.3.48(1)-release'
COLUMNS=236
CUDA_HOME=/usr/local/cuda
CUDA_PKG_VERSION=10-0=10.0.130-1
CUDA_VERSION=10.0.130
CUDNN_VERSION=7.6.0.64
...
  • set -e

-e参数表示只要shell脚本中发生错误,即命令返回值不等于0,则停止执行并退出shell。set -e在shell脚本中经常使用。默认情况下,shell脚本碰到错误会报错,但会继续执行后面的命令。

test.sh脚本内容如下:

#!/usr/bin/env bash
set -e

hello
echo "Hello set"

执行结果如下:

root@3500f62fe5ae:/workspace# sh test.sh
test.sh: 4: test.sh: hello: not found

注:set +e表示关闭-e选项,set -e表示重新打开-e选项。

  • set -u

-u参数表示shell脚本执行时如果遇到不存在的变量会报错并停止执行。默认不加-u参数的情况下,shell脚本遇到不存在的变量不会报错,会继续执行。

test.sh脚本内容如下:

#!/usr/bin/env bash
echo $test

set -u
echo $hello

执行结果如下:

root@3500f62fe5ae:/workspace# sh test.sh

test.sh: 5: test.sh: hello: parameter not set

参考资料

  1. http://www.ruanyifeng.com/blog/2017/11/bash-set.html
  2. http://www.runoob.com/linux/linux-comm-set.html
  3. http://man.linuxde.net/set
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. set命令介绍
  • 2. set命令的常用参数及作用
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档