shell set -u 和set +u的具体使用

 更新时间:2024年05月17日 10:05:16   作者:小风筝123  
本文主要介绍了shell set -u 和set +u的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

shell中 ,set -u之后,使用没有初始化的变量,会导致报错

set -u: 表示该命令之后,当命令使用到未定义过的变量时,脚本直接退出,后续命令不在执行。

我们来试试。

准备一个脚本t1.sh:

echo "1:$1"

没有set -u之前,$1存在、不存在都可以,运行不报错:

$ /bin/bash t1.sh  
1:
$ /bin/bash t1.sh 2  
1:2

/bin/bash -u执行脚本相当于在子shell中做了set -u,/bin/bash -u xx.sh ,如果$1不存在,则会报错:

$ /bin/bash -u t1.sh 2  
1:2

$ /bin/bash -u t1.sh  
t1.sh: 行 1: $1: 未绑定的变量

我们试试set +u | set-u对当前进程和子进程的影响:

准备另个一个脚本t2.sh:

#!/bin/bash
echo "aaa : $aaa"

运行:

$ set -u
$ echo $bbb
-bash: bbb: 未绑定的变量
$ ./t2.sh
aaa : 
$ . t2.sh
-bash: aaa: 未绑定的变量
$ set +u
$ echo $bbb

$ ./t2.sh
aaa : 
$ . t2.sh
aaa : 

可见set +u | set -u只作用于本进程,不会作用于子进程。

到此这篇关于shell set -u 和set +u的具体使用的文章就介绍到这了,更多相关shell set -u 和set +u内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python使用淘宝API查询IP归属地功能分享

    Python使用淘宝API查询IP归属地功能分享

    这篇文章主要介绍了Python使用淘宝API查询IP归属地功能分享,本文可以查询到国家、运营商、区域、省份、城市、县/区等,需要的朋友可以参考下
    2014-10-10
  • Linux 无法使用userdel 删除用户和组的解决方案

    Linux 无法使用userdel 删除用户和组的解决方案

    这篇文章主要介绍了Linux 无法使用userdel 删除用户和组的解决方案的相关资料,需要的朋友可以参考下
    2017-04-04
  • Git 常用命令整理

    Git 常用命令整理

    本文主要介绍了Git 命令,这里对Git 常用命令进行了整理,在开发项目过程中足够用了,有需要的小伙伴可以参考下
    2016-07-07
  • bash脚本中if语句的使用方法

    bash脚本中if语句的使用方法

    与大多数语言一样,bash 有自己的条件形式。在使用时,要遵循以上格式;即,将 "if" 和 "then" 放在不同行,并使 "else" 和结束处必需的 "fi" 与它们水平对齐。这将使代码易于阅读和调试
    2014-05-05
  • shel  while循环示例小结

    shel  while循环示例小结

    使用while循环,可以使得用户重复执行一系列操作,直到某个条件的发生,这篇文章主要介绍了shel while循环,需要的朋友可以参考下
    2024-04-04
  • Shell脚本统计当前目录下目录和文件的数量

    Shell脚本统计当前目录下目录和文件的数量

    这篇文章主要介绍了Shell脚本统计当前目录下目录和文件的数量,Linux下如何统计当前目录下文件有多少个,目录又有多少个呢,使用本文脚本即可实现,需要的朋友可以参考下
    2014-12-12
  • Linux查看磁盘信息的命令详解

    Linux查看磁盘信息的命令详解

    这篇文章主要介绍了Linux查看磁盘信息的命令,df与du命令,df 命令主要用于需要检查文件系统上已使用和可用的磁盘空间的数量,du命令主要用于需要了解系统上的目录或文件所使用的磁盘空间量,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-04-04
  • shell脚本学习指南[一](Arnold Robbins & Nelson H.F. Beebe著)

    shell脚本学习指南[一](Arnold Robbins & Nelson H

    这篇文章主要介绍了shell脚本学习指南[一]Arnold Robbins & Nelson H.F. Beebe著,需要的朋友可以参考下
    2014-02-02
  • windows下上传shell脚本不能运行的解决方法

    windows下上传shell脚本不能运行的解决方法

    windows下上传shell脚本不能运行—将dos模式修改为unix 文件格式 就可以顺利解决,下文给大家带来了详细解决方法,一起看看吧
    2018-06-06
  • Linux中sftp常用命令整理

    Linux中sftp常用命令整理

    sftp命令是一款交互式的文件传输程序,不仅对传输的所有信息使用ssh加密,它还支持公钥认证和压缩等功能。这篇文章整理了Linux中sftp的常用命令,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论