Linux set命令教程:如何优雅地设置和取消shell变量和选项(附实例详解和注意事项)
2024-01-09 07:38:26
Linux set命令介绍
set
命令是Linux操作系统中的内置shell命令,用于设置和取消shell变量和选项。它常用于shell脚本中,以配置环境并控制脚本的行为。
Linux set命令适用的Linux版本
set
命令在所有主流的Linux发行版中都可以使用,包括但不限于Ubuntu、Fedora、Debian、Kubuntu以及CentOS 7和CentOS 81。
[linux@bashcommandnotfound.cn ~]$ set --help
Linux set命令的基本语法
set
命令的基本语法如下:
set -options arguments
Linux set命令的常用选项或参数说明
以下是set
命令的一些常用选项1:
选项 | 说明 |
---|---|
-a | 将后续定义的变量或函数自动导出 |
-b | 当作业状态改变时立即通知 |
-e | 如果一个命令以非零状态退出,则立即退出 |
-f | 禁用文件名扩展 |
-h | 记住函数的位置,即使它们尚未定义 |
-k | 将所有参数当作变量赋值 |
-m | 启用作业控制 |
-n | 读取命令但不执行它们 |
-o | 以长格式列出选项 |
-p | 启动特权模式 |
-t | 退出shell或脚本 |
-u | 对未设置的变量和参数进行处理 |
-v | 打印shell输入行 |
-x | 打印命令和参数 |
Linux set命令实例详解
以下是一些set
命令的使用实例:
实例1:显示所有shell变量和函数
如果不带任何选项或参数使用set
命令,它将显示所有的shell变量和它们的值。
[linux@bashcommandnotfound.cn ~]$ set
实例2:设置位置参数的值
位置参数可以被定义为shell脚本或程序中的值,其值使用set
命令进行赋值。
[linux@bashcommandnotfound.cn ~]$ set Ubuntu Fedora LinuxMint Debian Kubuntu
[linux@bashcommandnotfound.cn ~]$ echo $3
实例3:取消位置参数的值
双破折号--
用于取消位置参数。
[linux@bashcommandnotfound.cn ~]$ set --
[linux@bashcommandnotfound.cn ~]$ echo "$*"
实例4:执行带有错误的shell脚本
如果你写了一个新的脚本并且想要测试它,但是你不确定错误在哪里,那么使用set
命令,有一种方法可以执行它,直到出现错误的那一行。
[linux@bashcommandnotfound.cn ~]$ set -e
[linux@bashcommandnotfound.cn ~]$ echo 'Welcome to itslinuxfoss.com'
[linux@bashcommandnotfound.cn ~]$ cat filename
[linux@bashcommandnotfound.cn ~]$ echo 'End of script'
实例5:禁用shell选项
你可以使用+
选项来禁用shell选项。
[linux@bashcommandnotfound.cn ~]$ set +o nounset
实例6:启用shell选项
你可以使用-
选项来启用shell选项。
[linux@bashcommandnotfound.cn ~]$ set -o nounset
实例7:显示所有shell选项
如果你想查看所有的shell选项,你可以使用-o
选项。
[linux@bashcommandnotfound.cn ~]$ set -o
实例8:在脚本中使用set命令
在shell脚本中,set
命令常用于改变脚本的行为。
[linux@bashcommandnotfound.cn ~]$ echo 'Welcome to itslinuxfoss.com'
[linux@bashcommandnotfound.cn ~]$ set -e
[linux@bashcommandnotfound.cn ~]$ cat filename
[linux@bashcommandnotfound.cn ~]$ echo 'End of script'
实例9:使用set命令设置位置参数
你可以使用set
命令来设置位置参数。
[linux@bashcommandnotfound.cn ~]$ set -- "arg 1" "arg 2" "arg 3"
[linux@bashcommandnotfound.cn ~]$ echo "$1"
[linux@bashcommandnotfound.cn ~]$ echo "$2"
[linux@bashcommandnotfound.cn ~]$ echo "$3"
实例10:使用set命令取消位置参数
你可以使用set
命令来取消位置参数。
[linux@bashcommandnotfound.cn ~]$ set --
[linux@bashcommandnotfound.cn ~]$ echo "$1"
[linux@bashcommandnotfound.cn ~]$ echo "$2"
[linux@bashcommandnotfound.cn ~]$ echo "$3"
Linux set命令的注意事项
- 使用
set
命令时,需要注意-o
可以启用shell选项,而+o
可以禁用shell选项。 - 如果你看到
bash: set: command not found
,请按照上面的方法安装。
Linux set相关命令
以下是一些与set
命令相关的命令:
更多详细内容可以参考:
linux入门学习教程 - Linux入门自学网
Linux set命令详解:如何设置和显示shell变量和函数
文章来源:https://blog.csdn.net/u012964600/article/details/135402697
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!