我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Shell脚本中判断输入参数个数的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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用来检查脚本的执行情况。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Shell脚本中判断输入参数个数的方法

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

下载Word文档

猜你喜欢

Shell脚本中判断输入参数个数的方法

$#代表了命令行的参数数量,可以看以下实例:if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" exit 1; fi位置参数 $
2022-06-04

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

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

Shell脚本中判断输入变量或者参数是否为空的方法

1.判断变量read -p "input a word :" wordif [ ! -n "$word" ] ;thenecho "you have not input a word!"elseecho "the word you inp
2022-06-04

如何在shell脚本中判断输入参数是否为整数值

如何在shell脚本中判断输入参数是否为整数值?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、用shell命令使其与某个整型值进行计算,通过$?来判断其是否是
2023-06-09

shell脚本之判断输入参数是否为整数值的实例

在写脚本时,通常会有很多关于命令行参数,变量等的判断其是否存在或者类型是否正确。当判断一个从命令行接收到一个值,需要判断其是否为整型值时,有以下两种方法: 1、用shell命令使其与某个整型值进行计
2022-06-04

Shell脚本中判断变量为数字的3种方法

方法1:通过expr 计算变量与一个整数值相加,如果能正常执行则为整数,否则执行出错,$将是非0的值expr $args + 0 &>/dev/null方法2:打印变量通过sed替换的方式,将变量中的数字替换为空,如果执行替换后变量为空,则
2022-06-04

怎么在Shell脚本中判断用户的输入内容

本篇文章为大家展示了怎么在Shell脚本中判断用户的输入内容,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.脚本功能:提示客户属于一串数字,并判断用户是否进行了输入,输入的是否为数字#!/bin/
2023-06-09

验证用户输入的参数合法性的shell脚本

今天这个例子是 用来验证用户输入的参数的合法性的,程序并不复杂,如下所示:#!/bin/sh # validAlphaNum - Ensures that input consists only of alphabetical # and
2022-06-04

shell脚本中怎么判断输入的日期是否正确

这篇文章将为大家详细讲解有关shell脚本中怎么判断输入的日期是否正确,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。下面是代码#!/bin/sh# valid-date -- Validat
2023-06-09

Shell脚本传参数的方法介绍

本篇内容介绍了“Shell脚本传参数的方法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、接收固定长度的参数代码如下:[root@sv
2023-06-09

如何用shell脚本验证用户输入的参数合法性

这期内容当中小编将会给大家带来有关如何用shell脚本验证用户输入的参数合法性,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。今天这个例子是 用来验证用户输入的参数的合法性的,程序并不复杂,如下所示:#!/
2023-06-09

Shell脚本传递参数的方法对比

这篇文章主要介绍“Shell脚本传递参数的方法对比”,在日常操作中,相信很多人在Shell脚本传递参数的方法对比问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本传递参数的方法对比”的疑惑有所帮助!
2023-06-09

shell中脚本参数传递的方法有哪些

这篇文章主要介绍了shell中脚本参数传递的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方式一:$0,$1,$2..采用$0,$1,$2..等方式获取脚本命令行传
2023-06-09

Shell脚本函数传递参数的实现方法

如何传递参数到Shell脚本函数 通常,在其他脚本语言中,您可以将参数和参数作为function_name(parameter1, parameter2,…)传递给函javascript数,这在shell脚本函数中不支持。在s
2022-07-29

C语言输入一个数判断是否为素数的多种方法

素数是只能被1和它自己本身整除,不能被其他自然数整除的大于1的正整数,下面这篇文章主要给大家介绍了关于C语言输入一个数判断是否为素数的多种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-05-17

Shell脚本传递参数的3种方法比较

#!/bin/bash #extracting command text_text_text_line options as parametershelp_info(){echo "NAME"echo "t$0"echo "SYNOPSIS
2022-06-04

getopts解析shell脚本命令行参数的方法

getopts命令格式 getopts optstring name [arg] optstring为命令行所有选项组成的字符串,每个字母代表一个选项。如果字母后有冒号:android,表明该选项需要选择参数。比如说,执行getopts时,
2023-01-12

shell脚本使用两个横杠接收外部参数的方法

首先,效果是这样的: 既可以处理短选项(-)又可以处理长选项(--)[developer@hadoop-cluster-manager shell]$ ./demo.sh --help sqoop程序开始运行:
2022-06-04

python输入数据判断数据类型的方法是什么

在Python中,可以使用`type()`函数来判断数据的类型。例如:```pythondata = input("请输入数据:")data_type = type(data)print("数据类型为:", data_type)```上述代
2023-08-11

编程热搜

目录