Shell 中的set --用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell 中的set --用法相关的知识,希望对你有一定的参考价值。

set 命令为 shell 设定参数变量。许多命令的输出是以空格分隔的值,如果要使用其中的某个数据域,使用 set 非常有效。

#!/bin/sh
echo the date is $(date)
set $(date)
echo the month is $2
输出:
the date is Wed Apr 23 15:34:16 CST 2014
the month is Apr

将 date 命令的输出设置为参数表,再通过位置参数 $2 取得月份。因为 date 命令受语言和地域的影响比较大,所以如果目的是取出月份的名字,则应该用 date +%B。

还可以利用 set 命令来控制 shell 的执行方式。其中最常用的就是 set +x,使脚本程序跟踪显示当前执行的命令。

再看如下示例:

[[email protected] shell]# ls /opt
file file3 haha mimei
[[email protected] shell]# set -- $(ls /opt)
[[email protected] shell]# echo $1
file
[[email protected] shell]# echo $2
file3
[[email protected] shell]# echo $3
haha
[[email protected] shell]# echo $4
mimei
[[email protected] shell]# echo $#
4
[[email protected] shell]# echo [email protected]
file file3 haha mimei
[[email protected] shell]#

以上是关于Shell 中的set --用法的主要内容,如果未能解决你的问题,请参考以下文章

bash shell 脚本中的“set -o noglob”

shell 脚本 set+e set-e

Linux中shell的 set命令 -e -o 选项作用

使用 spark-shell 时使用 sparkConf.set(..) 自定义 SparkContext

5 shell命令之tr

相当于 dash shell 中的 pipefail