广告
返回顶部
首页 > 资讯 > 精选 >Shell脚本中怎么判断输入参数的个数
  • 652
分享到

Shell脚本中怎么判断输入参数的个数

2023-06-09 18:06:42 652人浏览 安东尼
摘要

这期内容当中小编将会给大家带来有关shell脚本中怎么判断输入参数的个数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。$#代表了命令行的参数数量,可以看以下实例:if [ $# != 1 ] ; then

这期内容当中小编将会给大家带来有关shell脚本中怎么判断输入参数的个数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

$#代表了命令行的参数数量,可以看以下实例:

if [ $# != 1 ] ; then 

echo "USAGE: $0 TABNAME"
echo " e.g.: $0 CDR_CALL_20040701"
exit 1;
fi

位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字

-ne    不等于

-----------------------

shell 编程中使用到得if语句内判断参数

–b 当file存在并且是块文件时返回真

-c 当file存在并且是字符文件时返回真

-d 当pathname存在并且是一个目录时返回真

-e 当pathname指定的文件或目录存在时返回真

-f 当file存在并且是正规文件时返回真

-g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真

-h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效

-k 当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真

-p 当file存在并且是命令管道时返回为真

-r 当由pathname指定的文件或目录存在并且可读时返回为真

-s 当file存在文件大小大于0时返回真

-u 当由pathname指定的文件或目录存在并且设置了SUID位时返回真

-w 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。

-o 当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。

UNIX Shell 里面比较字符写法:

-eq   等于

-ne    不等于

-gt    大于

-lt    小于

-le    小于等于

-ge   大于等于

-z    空串

=    两个字符相等

!=    两个字符不等

-n    非空串

-------------------------------------------------------------------------

更为详细的说明:

运算符                     描述                          示例

文件比较运算符

-e filename     如果 filename 存在,则为真            [ -e /var/log/syslog ]

-d filename     如果 filename 为目录,则为真          [ -d /tmp/mydir ]

-f filename     如果 filename 为常规文件,则为真      [ -f /usr/bin/grep ]

-L filename     如果 filename 为符号链接,则为真      [ -L /usr/bin/grep ]

-r filename     如果 filename 可读,则为真            [ -r /var/log/syslog ]

-w filename     如果 filename 可写,则为真            [ -w /var/mytmp.txt ]

-x filename     如果 filename 可执行,则为真          [ -L /usr/bin/grep ]

filename1 -nt filename2 如果 filename1 比 filename2 新,则为真 [ /tmp/install/etc/services -nt /etc/services ]

filename1 -ot filename2   如果 filename1 比 filename2 旧,则为真  [ /boot/bzImage -ot arch/i386/boot/bzImage ]

字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string               如果 string 长度为零,则为真               [ -z $myvar ]

-n string                      如果 string 长度非零,则为真        [ -n $myvar ]

string1 = string2         如果 string1 与 string2 相同,则为真     [ $myvar = one two three ]

string1 != string2        如果 string1 与 string2 不同,则为真     [ $myvar != one two three ]

算术比较运算符

num1 -eq num2              等于         [ 3 -eq $mynum ]

num1 -ne num2              不等于       [ 3 -ne $mynum ]

num1 -lt num2               小于        [ 3 -lt $mynum ]

num1 -le num2            小于或等于     [ 3 -le $mynum ]

num1 -gt num2             大于          [ 3 -gt $mynum ]

num1 -ge num2             大于或等于    [ 3 -ge $mynum ]

脚本示例:

代码如下:


#!/bin/bash

# This script prints a message about your weight if you give it your

# weight in kilos and hight in centimeters.

if [ ! $# == 2 ]; then

echo "Usage: $0 weight_in_kilos length_in_centimeters"

exit

fi

weight="$1"

height="$2"

idealweight=$[$height - 110]

if [ $weight -le $idealweight ] ; then

echo "You should eat a bit more fat."

else

echo "You should eat a bit more fruit."

fi

# weight.sh 70 150

You should eat a bit more fruit.

# weight.sh 70 150 33

Usage: ./weight.sh weight_in_kilos length_in_centimeters

位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字,

第一个参数代表$1,第二个参数代表$2,以此类推,参数数量的总数存在$#中,上面的例子显示了怎么改变脚本,如果参数少于或者多余2个来打印出一条消息。

执行,并查看情况。

代码如下:


# bash -x tijian.sh 60 170

+ weight=60

+ height=170

+ idealweight=60

+ '[' 60 -le 60 ']'

+ echo 'You should eat a bit more fat.'

You should eat a bit more fat.

其中-x用来检查脚本的执行情况。

上述就是小编为大家分享的Shell脚本中怎么判断输入参数的个数了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Shell脚本中怎么判断输入参数的个数

本文链接: https://www.lsjlt.com/news/257348.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Shell脚本中怎么判断输入参数的个数
    这期内容当中小编将会给大家带来有关Shell脚本中怎么判断输入参数的个数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。$#代表了命令行的参数数量,可以看以下实例:if [ $# != 1 ] ; then...
    99+
    2023-06-09
  • Shell脚本中判断输入参数个数的方法
    $#代表了命令行的参数数量,可以看以下实例: if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_200...
    99+
    2022-06-04
    脚本 个数 参数
  • Shell脚本中怎么判断输入变量
    Shell脚本中怎么判断输入变量,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.判断变量代码如下:read -p "input a word :" wor...
    99+
    2023-06-09
  • 如何在shell脚本中判断输入参数是否为整数值
    如何在shell脚本中判断输入参数是否为整数值?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、用shell命令使其与某个整型值进行计算,通过$来判断其是否是一...
    99+
    2023-06-09
  • shell脚本之判断输入参数是否为整数值的实例
    在写脚本时,通常会有很多关于命令行参数,变量等的判断其是否存在或者类型是否正确。当判断一个从命令行接收到一个值,需要判断其是否为整型值时,有以下两种方法: 1、用shell命令使其与某个整型值进行计算,通过$?来...
    99+
    2022-06-04
    shell 参数 整数值
  • Shell脚本中判断输入变量或者参数是否为空的方法
    1.判断变量 read -p "input a word :" word if [ ! -n "$word" ] ;then echo "you have not input a word!...
    99+
    2022-06-04
    变量 为空 脚本
  • 怎么在Shell脚本中判断用户的输入内容
    本篇文章为大家展示了怎么在Shell脚本中判断用户的输入内容,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.脚本功能:提示客户属于一串数字,并判断用户是否进行了输入,输入的是否为数字#!/bin/...
    99+
    2023-06-09
  • 怎么使用shell脚本判断参数是否为空
    在shell脚本中,可以使用条件判断语句来判断参数是否为空。以下是一个示例:```shell#!/bin/bashif [ -z "...
    99+
    2023-09-15
    shell
  • shell脚本中怎么判断输入的日期是否正确
    这篇文章将为大家详细讲解有关shell脚本中怎么判断输入的日期是否正确,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。下面是代码#!/bin/sh# valid-date ...
    99+
    2023-06-09
  • Shell脚本中怎么判断变量是否为数字
    Shell脚本中怎么判断变量是否为数字,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。方法1:通过expr 计算变量与一个整数值相加,如果能正常执行则为整数,否则执行出错,$...
    99+
    2023-06-09
  • 验证用户输入的参数合法性的shell脚本
    今天这个例子是 用来验证用户输入的参数的合法性的,程序并不复杂,如下所示: #!/bin/sh # validAlphaNum - Ensures that input consists only of...
    99+
    2022-06-04
    脚本 合法性 参数
  • c语言怎么判断输入字符个数
    在C语言中,可以使用循环语句和计数器变量来判断输入字符的个数。具体的代码如下:```c#include int main() {ch...
    99+
    2023-08-18
    c语言
  • ubuntu中怎么传参数到shell脚本
    本文小编为大家详细介绍“ubuntu中怎么传参数到shell脚本”,内容详细,步骤清晰,细节处理妥当,希望这篇“ubuntu中怎么传参数到shell脚本”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ubuntu传...
    99+
    2023-07-04
  • 怎么在Shell脚本中通过参数名传递参数
    这期内容当中小编将会给大家带来有关怎么在Shell脚本中通过参数名传递参数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。#!/bin/bashwhile getopts i:o:p:s...
    99+
    2023-06-09
  • 怎么在python中输入一个数并判断是否为素数
    本篇文章给大家分享的是有关怎么在python中输入一个数并判断是否为素数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python主要用来做什么Python主要应用于:1、We...
    99+
    2023-06-07
  • 如何用shell脚本验证用户输入的参数合法性
    这期内容当中小编将会给大家带来有关如何用shell脚本验证用户输入的参数合法性,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。今天这个例子是 用来验证用户输入的参数的合法性的,程序并不复杂,如下所示:#!/...
    99+
    2023-06-09
  • Shell脚本中判断变量为数字的3种方法
    方法1:通过expr 计算变量与一个整数值相加,如果能正常执行则为整数,否则执行出错,$?将是非0的值 expr $args + 0 &>/dev/null 方法2:打印变量通过sed替换...
    99+
    2022-06-04
    种方法 变量 脚本
  • Shell脚本中怎么判断IP地址是否在一个ip段内
    今天就跟大家聊聊有关Shell脚本中怎么判断IP地址是否在一个ip段内,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。cat ipcalc.sh#!/bin/bashIP=$...
    99+
    2023-06-09
  • shell脚本传参中包含有空格的参数怎么解决
    本篇内容主要讲解“shell脚本传参中包含有空格的参数怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell脚本传参中包含有空格的参数怎么解决”吧!问题描述调用并传参数给其他shell...
    99+
    2023-07-05
  • shell脚本怎么使用两个横杠接收外部参数
    小编给大家分享一下shell脚本怎么使用两个横杠接收外部参数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!首先,效果是这样的:既可以处理短选项(-)又可以处理长选项(--)[developer@hadoop-cluster...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作