bash脚本检查输入参数

s

今天,我必须检查输入参数的存在和数量。我有以下脚本:

#!/bin/bash

echo "*** Test ***"
echo
echo $#
echo $*

function test1(){
   echo "test"
}

function GetTime()
{
   echo "Get Time function"
   if [ "$#" -ne 1 ]; then
       echo "Illegal number of parameters"
   else
       test1
   fi
}

if [ "$#" -ne 1 ]; then
    echo "Illegal number of parameters"
else
    test1
    GetTime  
fi

当我输入./test.sh GetTime时,我得到

*** Test ***

1
GetTime
test
Get Time function
Illegal number of parameters

我不明白为什么第一个条件与GetTime()函数中包含的条件之间的行为不同。有人可以帮助我吗?

预先感谢

nu11p01n73R

这是不同的,因为$#首先要if引用shell脚本的参数数量。其中,$#以秒为单位表示GetTime函数的自变量数

为了了解更多,我将GetTime功能修改

#!/bin/bash

echo "*** Test ***"
echo
echo $#
echo $*

function test1(){
   echo "test"
}

if [ "$#" -ne 1 ]; then
    echo "Illegal number of parameters"
else
    test1   
fi

function GetTime()
{
   echo "Get Time function"
   echo "$# $@"
   if [ "$#" -ne 1 ]; then
       echo "Illegal number of parameters"
   else
       test1
   fi
}

GetTime 
GetTime 2 

给输出为

*** Test ***
1
GetTime
test
Get Time function
0 
Illegal number of parameters
Get Time function
1 2
test

这里的第一个电话GetTime

Get Time function
0 
Illegal number of parameters

0传递的参数数量在哪里

和第二次呼叫为 GetTime 2

生产的产出

Get Time function
1 2
test

1传递的参数数量在哪里2,参数本身在哪里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bash脚本-检查参数-中的文件

来自分类Dev

禁用 bash 脚本输入参数替换

来自分类Dev

禁用 bash 脚本输入参数替换

来自分类Dev

解析bash脚本的输入参数时带空格的参数

来自分类Dev

检查用户输入中bash脚本中的错误

来自分类Dev

bash脚本来检查输入是否具有@

来自分类Dev

检查bash shell脚本中的参数数量

来自分类Dev

根据模式检查bash脚本参数,并替换其中的字符

来自分类Dev

如何检查bash脚本的参数是否为“标志”

来自分类Dev

如果传递的参数是文件或目录,如何检查bash脚本?

来自分类Dev

如何检查参数是否传递给bash脚本

来自分类Dev

检查bash脚本的参数是全数字的字符串

来自分类Dev

如果传递的参数是文件或目录,如何检查bash脚本?

来自分类Dev

如何将参数传递给输入到bash的脚本

来自分类Dev

如何使用动态输入参数从BASH的StdIn脚本调用python?

来自分类Dev

使用BASH脚本的名称作为输入参数

来自分类Dev

如何将参数传递给输入到bash的脚本

来自分类Dev

Bash脚本以输入文件为参数提取tgz

来自分类Dev

使用 getopt 带有可选输入参数的 bash 脚本

来自分类Dev

Bash脚本检查差异

来自分类Dev

Bash脚本错误检查

来自分类Dev

Bash脚本检查差异

来自分类Dev

Bash脚本错误检查

来自分类Dev

Bash脚本检查条件

来自分类Dev

gnuplot输入的bash脚本

来自分类Dev

Bash脚本:无效的参数

来自分类Dev

从命令行检查并适当更正参数作为脚本的输入

来自分类Dev

bash脚本,用于检查输入内容是否为“ y”,“ n”或其他-不起作用

来自分类Dev

如何检查Bash脚本的输入是否包含文件中的4个或更多字母词

Related 相关文章

热门标签

归档