我正在处理现有的构建脚本,其中脚本文件包含这些(某些部分)作为构建过程的一部分,我需要运行这个脚本文件。
#!/bin/sh
if [ -z $1 ]; then
help
elif [ $1 == 'test' ]; then
test
任何人都可以让我知道这是什么意思以及价值将从哪里得到?
如果第一个参数 ( $1
) 为“空”,则调用help
,否则"CheckIn"
调用CheckIn
。
这是非常基本的东西,你应该阅读手册页。
您应该使用参数调用脚本:
/path/to/script.sh argument
如果有更多参数,它们被称为 $1, $2, ...
实际上这个脚本说:
help
CheckIn
调用函数CheckIn
一个例子可能是:
#!/bin/sh
CheckIn() {
echo "CheckIn called!!";
}
help () {
echo "Help called!!";
}
if [ -z $1 ]; then
help
elif [ $1 == 'CheckIn' ]; then
CheckIn
fi
所以如果这个脚本被命名,即test.sh
运行它的输出将是:
sh test.sh
输出:Help called!!
sh test.sh CheckIn
输出:CheckIn called!!
最后请注意,在您登录的用户 shell 中,可以内置名为help
和的脚本CheckIn
。在这种情况下,将调用这些脚本/命令,并且不需要存在名为help
/的函数CheckIn
。
$1
指在命令行上传递给脚本的第一个参数。例如,如果您的脚本被调用myscript.sh
并且您使用 运行它myscript.sh foo
,那么$1
就是foo
.
if [ -z $1 ]
是一个 if 语句,用于检查 的长度$1
是否为零。如果是这样,它将运行help
必须在脚本中此点上方某处定义(或获取)的函数。
elif [ $1 == 'CheckIn' ]
检查是否$1
是CheckIn
,如果是,则运行该CheckIn
函数。
看: