首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

set命令详解

Bash有一个内置的set命令,可以用来查看、设置、取消shell选项 set设置的选项无法被继承,仅对当前的bash环境有效,bash命令也可以直接使用set的单字符选项来开启一个自定义参数的子bash...环境,比如执行的脚本 查看: echo - 和 set -o 和 echo {SHELLOPTS} 设置: set -abefhkmnptuvxBCHP 和 set -o options-name 取消...: set +abefhkmnptuvxBCHP 和 set +o options-name set -和set +设置单字符选项,使用echo $-查看当前shell开启的单字符选项 set -o 和...详见set命令的man手册 例如 set -B 和set -o braceexpand 是等效的,注意这里的设置和取消有点反常识:设置用 -,关闭反而是用 + [root@lvbibir ~]# echo...$- himBH # set + 方式去除B选项,相应的 set -o 中的 braceexpand 选项也关闭了 [root@lvbibir ~]# set +B [root@lvbibir ~]

85110
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 命令(230)—— set 命令(builtin)

文章目录 1.功能简介 2.命令格式 3.选项说明 4.常用示例 5.选项名 参考文献 1.功能简介 set 命令主要用于查看和修改 Shell 环境的运行参数,可以定制 Shell 脚本的运行环境。...使用 set 更改 Shell 运行环境时,符号"+“和”-"的作用分别是打开和关闭指定的模式。 注意,如果命令行下不带任何参数,直接运行set,会显示所有的环境变量和 Shell 函数。...2.命令格式 set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...] set [+abefhkmnptuvxBCEHPT] [+o option-name...set -o nounset (4)脚本执行时打印出命令。 默认情况下,脚本执行后,屏幕只显示运行结果,没有其他内容。如果多个命令连续执行,它们的运行结果就会连续输出。...有时会分不清,某一段内容是什么命令产生的。 set -x用来在运行结果之前,先输出执行的那一行命令。 #!/usr/bin/bash set -x echo bar 运行结果如下。

4.3K20

Redis初识~Set命令

Set集合命令操作 sadd:将一个元素或者多个元素插入到集合key中 已存在的集合元素会被忽略。 key不存在的情况下会创建一个集合。 时间复杂度是O(N),n是被添加的元素的数量。...srandmember: 与pop元素类似,但是 该命令仅仅是返回随机元素 不移除元素。 srandmember key count 并且还可以制定语出的数量。 count 可正可负。...sunion key key key sunionsttore: 类似 sunion 命令,但是是将返回的结果集可以返回到destination集合当中.存在就会覆盖。时间复杂度是O(N)。...我们上面介绍的集合是没有顺序的,但是很多时候我们在看榜单的时候都是有排名的那么我们完全可以借助redis的有序Set来实现这个功能。 ? ?

39920

Bash 脚本 set 命令教程

set -o nounset 三、set -x 默认情况下,脚本执行后,屏幕只显示运行结果,没有其他内容。如果多个命令连续执行,它们的运行结果就会连续输出。有时会分不清,某一段内容是什么命令产生的。...但是,某些命令的非零返回值可能不表示失败,或者开发者希望在命令失败的情况下,脚本继续执行下去。这时可以暂时关闭set -e,该命令执行结束后,再重新打开set -e。...set -o errexit 六、set -o pipefail set -e有一个例外情况,就是不适用于管道命令。 所谓管道命令,就是多个子命令通过管道运算符(|)组合成为一个大的命令。...Bash 会把最后一个子命令的返回值,作为整个命令的返回值。也就是说,只要最后一个子命令不失败,管道命令总是会执行成功,因此它后面命令依然会执行,set -e就失效了。 请看下面这个例子。 #!...set -o pipefail用来解决这种情况,只要一个子命令失败,整个管道命令就失败,脚本就会终止执行。 #!

1.7K40

Bash 脚本 set 命令教程

有时会分不清,某一段内容是什么命令产生的。 set -x用来在运行结果之前,先输出执行的那一行命令。 #!...但是,某些命令的非零返回值可能不表示失败,或者开发者希望在命令失败的情况下,脚本继续执行下去。这时可以暂时关闭set -e,该命令执行结束后,再重新打开set -e。...set -o errexit 六、set -o pipefial set -e有一个例外情况,就是不适用于管道命令。 所谓管道命令,就是多个子命令通过管道运算符(|)组合成为一个大的命令。...Bash 会把最后一个子命令的返回值,作为整个命令的返回值。也就是说,只要最后一个子命令不失败,管道命令总是会执行成功,因此它后面命令依然会执行,set -e就失效了。 请看下面这个例子。 #!...set -o pipefail用来解决这种情况,只要一个子命令失败,整个管道命令就失败,脚本就会终止执行。 #!

1.4K50

Redis常用命令set

如果 key 已经持有其他值, SET 就覆写旧值,无视类型。 对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时, 这个键原有的 TTL 将被清除。...可选参数 从 Redis 2.6.12 版本开始, SET 命令的行为可以通过一系列参数来修改: EX second :设置键的过期时间为 second 秒。...因为 SET 命令可以通过参数来实现和 SETNX 、 SETEX 和 PSETEX 三个命令的效果,所以将来的 Redis 版本可能会废弃并最终移除 SETNX 、 SETEX 和 PSETEX 这三个命令...可用版本: >= 1.0.0 时间复杂度: O(1) 返回值: 在 Redis 2.6.12 版本以前, SET 命令总是返回 OK 。...6379> TTL another-key (integer) 997 # 这是 EX 参数设置的值 使用模式 命令 SET resource-name anystring NX EX max-lock-time

42310

Redis常用命令--set

如果 key 已经持有其他值, SET 就覆写旧值,无视类型。 对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时, 这个键原有的 TTL 将被清除。...可选参数 从 Redis 2.6.12 版本开始, SET 命令的行为可以通过一系列参数来修改: EX second :设置键的过期时间为 second 秒。...因为 SET 命令可以通过参数来实现和 SETNX 、 SETEX 和 PSETEX 三个命令的效果,所以将来的 Redis 版本可能会废弃并最终移除 SETNX 、 SETEX 和 PSETEX 这三个命令...可用版本: >= 1.0.0 时间复杂度: O(1) 返回值: 在 Redis 2.6.12 版本以前, SET 命令总是返回 OK 。...6379> TTL another-key (integer) 997 # 这是 EX 参数设置的值 使用模式 命令 SET resource-name anystring NX EX max-lock-time

92950

【Redis源码】Redis Set命令详解

简介 set命令用于将key-value设置到数据库。如果key已经设置,则set会用新值覆盖旧值,不管原value是何种类型,如果在设置时不指定EX或PX参数,set命令会清除原有超时时间。...命令行解析额外参数 set命令共支持NX、XX、EX、PX这4个额外参数,在执行set命令时,需要首先对这4个参数进行解析,此时需要3个局部变量来辅助实现: robj *expire = NULL; int...我们知道,Redis在解析命令行参数时,会将各个参数解析成robj类型,当expire值不为NULL则表示需要设置key的超时时间。...由set命令的参数格式得知,前3个参数为set、key、value,这3个参数是通用参数,我们暂时先不考虑,先从第4个参数开始依次向后通过 for循环解析: for (j = 3; j argc...set命令调用setGenericCommand传递的参数如下: setGenericCommand(c,flags,c->argv[1],c->argv[2],expire,unit,NULL,NULL

1.1K20

Linux中set命令设置位置参数

set 是Linux 的内置命令,这是一个非常有用的命令,只是可能因为不熟悉,所以就不怎么用,如果你看一些比较成熟的shell scripts, 经常会看到用set的地方,本文对set命令的-e , —...[root@localhost bin]# 从上面set的帮助可以看到, “+” ,"-" 分别用于关闭或者打开某些特性;具体的特性有很多,这里介绍 -e 特性: set -e ; 表示后续所有的...bash 命令的返回code 如果不是0,那么脚本立即退出,后续的脚本将不会得到执行的机会; set +e ; 这个是默认的状态,表示就算后续的命令如果返回值不是0,那么脚本依然向下执行; 所以...set -e其实就是从设置的位置起,给脚本的每一条命令加上了同一个退出条件;而set +e 则是取消这种设置; 看下面的例子: [root@localhost shell_commands]# cat...\n" fi } echo "Below results based on: set +e" set +e lookupstr echo "Below results based on: set -

4.5K20
领券