精华内容
下载资源
问答
  • 主要介绍了Shell脚本中判断输入参数个数的方法,使用内置变量$#即可实现判断输入了多少个参数,需要的朋友可以参考下
  • shell 参数个数判断,参数判断

    千次阅读 2021-01-13 22:34:45
    一、执行shell文件时,若脚本无参数,则参数个数为0。 if [ $# -eq 0 ]; then echo "no argument" fi 二、执行shell文件时,若脚本无参数,则第一个参数为空值。 if [ "$1" ]; then echo "no argument" fi ...

    一、执行shell文件时,若脚本无参数,则参数个数为0。

    if [ $# -eq 0 ]; then
        echo "no argument"
    fi

    二、执行shell文件时,若脚本无参数,则第一个参数为空值。

    if [ "$1" ]; then
        echo "no argument"
    fi

    if [ -z "$1" ]; then
        echo "no argument"
    fi

    说明:$#的数量即传递给脚本的参数的数量是从$1开始计算的。$0是脚本本身,不算是参数,从$1开始计算。

     

    展开全文
  • shell 参数个数

    千次阅读 2019-09-04 20:49:05
    shell判断参数个数

    shell 参数个数

    20190904


    参数个数

    在写shell脚本的时候,会有这样的需求:根据传入的参数个数来选择相应的操作。

    • 命令$#返回出入的参数,但要注意对$#的引用范围
    • 测试代码
    #!/bin/bash
    #参数个数命令 $#
    #date:2018-08-08
    date1=$1
    date2=$2
    let nump1=$#
    echo "---函数外---"$nump1
    function main(){
    	let nump2=$#
    	echo "---函数内---"$nump2
    	if [[ $nump1 = 1 ]]
    	then
    		let date2int="${date1:0:4}${date1:5:2}${date1:8:2}"
    		echo $date2int
    		exit
    	fi
    	echo $date1
    }
    main
    
    • 1、条件判断为:if [[ $nump1 = 1 ]]
    $ sh test_num_parameter.sh 2018-08-09
    
    • 输出
    ---函数外---1
    ---函数内---0
    20180809
    
    • 2、条件判断为:if [[ $nump2 = 1 ]]
    $ sh test_num_parameter.sh 2019-01-01
    
    • 输出
    ---函数外---1
    ---函数内---0
    2019-01-01
    

    $#的作用域只在最外层

    参考

    博客园-参考1
    博客园-参考2

    展开全文
  • 工作中常会用到shell脚本,总结一些常用的简单操作。 1. 判断传入参数的个数 #!/bin/bash # author:geekzw if [ $# -eq 2 ]; then echo "$1 $2" exit else echo "错误" fi 运行结果

                                             Shell——判断传入参数的个数

     

             工作中常会用到shell脚本,总结一些常用的简单操作。shell脚本参考资料:https://www.runoob.com/linux/linux-shell.html

    1. 判断传入参数的个数

    #!/bin/bash
    # author:geekzw
    
    if [ $# -eq 2 ];
    then
        echo "$1 $2"
        exit
    else
    	echo "错误"
    fi

    运行结果

    sh run.sh 23 34
    23 34
    
    sh run.sh 23 34 de
    错误

     

    参数说明

    -eq   等于  
    -ne    不等于  
    -gt    大于  
    -lt    小于  
    -le    小于等于  
    -ge   大于等于  
    -z    空串  
    =    两个字符相等  
    !=    两个字符不等  
    -n    非空串

     

    展开全文
  • 一: -p 用 echo -n 替代 eg:  read -p "请输入:"...二: 输入两个参数,先判断是否为整数,然后再进行运算 eg: #! /etc/sh #Author:gaoq #Date:2015-06-02 #Email:147341...
    一:  -p  用 echo -n 替代
    eg:
         read -p "请输入:" a b
    可替换为
         echo -n "请输入两个参数:"
         read a b 
     
    二: 输入两个参数,先判断是否为整数,然后再进行运算
    eg:
    #! /etc/sh 
    #Author:gaoq 
    #Date:2015-06-02 
    #Email: 1473418313@qq.com 
    while true 
    do 
    while true 
    do 
    read -p "请输入两个参数:" a b 
    expr $a + 0 >/dev/null 2>&1 
    [ $? -ne 0 ] && continue 
    expr $b + 0 >/dev/null 2>&1 
    [ $? -ne 0 ] && continue||break 
    done 
    echo "$a+$b = $(($a+$b))" 
    echo "$a/$b = $(($a/$b))" 
    echo "$a*$b = $(($a*$b))" 
    echo "$a**$b = $(($a**$b))" 
    echo "$a%$b = $(($a%$b))" 
    done
     
    三: 输入两个参数,先判断是否是2个参数,然后判断是否为整数,然后再进行运算
    eg:
    #! /etc/sh 
    #Author:gaoq 
    #Date:2015-06-02 
    #Email: 1473418313@qq.com 
    a=$1 
    b=$2 
    pt(){ 
    echo "请输入争取的格式:sh $0 num1 num 2" 
    exit 1 

    if [ $# -ne 2 ];then 
    pt 
    fi 
    expr $a + 0 >/dev/null 2>&1 
    [ $? -ne 0 ] && pt 
    expr $b + 0 >/dev/null 2>&1 
    [ $? -ne 0 ] && pt 
    echo "$a+$b = $(($a+$b))" 
    echo "$a/$b = $(($a/$b))" 
    echo "$a*$b = $(($a*$b))" 
    echo "$a**$b = $(($a**$b))" 
    echo "$a%$b = $(($a%$b))"

     

    展开全文
  • shell 如何判断命令行参数个数

    千次阅读 2015-12-11 09:18:17
    $#代表了命令行的参数数量,可以看以下实例: if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" exit 1; fi 位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $...
  • 有些时候我们需要验证脚本的参数或某些变量的值是否为数字... $1是脚本的第一个参数,这里作为awk命令的第一个参数传入给awk命令。 #2. 由于没有输入文件作为输入流,因此这里只是在BEGIN块中完成。 #3. 在awk中AR...
  • 第一-n是shell的测试标志,对后面的串"`sed -n '/^[0-9][0-9]*$/p'`" 进行测试,如果非空,则结果为真。 sed默认会显示所有输入行信息的,sed 的“-n”选项是让sed不要显示,而只显示我们所需要的内容:即后面的...
  • 主要介绍了Shell脚本中判断变量为数字的3种方法,本文分别介绍了expr、sed两种方法,并给出了一个判断脚本,需要的朋友可以参考下
  • 先给大家分享一篇关于shell判断变量是否为空方法总结内容 shell判断变量是否为空方法总结 https://www.jb51.net/article/154835.htm 1.判断变量 代码如下: read -p “input a word :” word if [ ! -n “$...
  • 今天小编就为大家分享一篇shell脚本之判断输入参数是否为整数值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 判断变量是不是数字: [root@x scripts]# num10=123 [root@x scripts]# num20=123abc [root@x scripts]# [[ "$num10" =~ ^[0-9]+$ ]];echo $? 0 [root@x scripts]# [[ "$num20" =~ ^[0-9]+$ ]];echo $? 1 给不安...
  • shell 判断参数是否存在

    千次阅读 2014-10-14 11:18:05
    if [ -$# -lt 1 ]; then echo 没有命令行参数 fi if [ x"$parm" = x ]; then echo 参数parm不存在或者为空值 fi if [[ -z "$parm" ]]; then ...
  • shell判断个数是否是素数

    千次阅读 2020-07-28 22:01:57
    read -p "请输入一大于1的整数: " num num1=$(bc <<< "sqrt($num)") reult=true for x in `seq 2 $num1` do #num2=$(expr $num % $x) if [ `expr $num % $x` -eq 0 ];then reult=false
  • 判断Shell程序输入参数的个数

    千次阅读 2012-07-06 16:14:21
    if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_...位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字 -ne 不等于 ----------------------- shell 编程中
  • shell脚本中如何判断变量是数字还是字符串,其实本身shell脚本中的所有变量值都是字符串,其中的数字也是数字字符串,只是人为的增加了数字的概念,具体可以参考如下内容。 1、判断变量的值是否为整数: ...
  • 主要介绍了Shell脚本IF条件判断判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结,需要的朋友可以参考下
  • shell判断传入参数是否存在

    万次阅读 2017-02-17 02:46:37
    #!/bin/sh if [ x"$1" = x ]; then echo "no cmd param!" exit 1 fi ... ...
  • vim shell-args-test.sh #!/bin/bash # if no args specified, show usage if [ $# -le 0 ]; then echo '请指定参数' exit 1 fi echo $0 echo $1 输出 root@titvax:~/shell $ sh ./shell-args-test.sh 请指定...
  • echo "Shell 传递参数实例!"; echo "执行的文件名:$0"; echo "第一个参数为:$1"; echo "第二个参数为:$2"; echo "第三个参数为:$3"; arg1=arg; if [ -n "$1" ] then echo "第一个参数$1" else echo "第一...
  • shell中对数字判断最有效、最直接的方法就是利用expr进行$?返回值来判断输入的变量是否为数字变量。 例如: #! /bash/bin read -t30 -p "input your number:" a expr $a + 1 &> /dev/null #这里是使用expr对...
  • shell中常见参数判断命令

    千次阅读 2019-03-02 22:39:23
    Shell常用特殊变量 经常会在shell命令中,看到$0, $#, $*, $@, $?, $$这样的取值,这些代表什么呢? 变量 含义 ... 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@...
  • shell参数判断

    千次阅读 2017-11-13 17:08:03
    对于只判断个参数的 #!/bin/bash if [ ! -n "$1" ] ;then  echo "you have not input a agrs!...在shell中$1变量表示脚本的第一个参数。所以如果判断$1参数是空值,即可表示脚本没有参数。示例代码如下:
  • Shell---条件判断参数

    千次阅读 2017-10-27 08:42:02
    条件判断两种方式表示判断: - test -e 文件名 - [ -e 文件名 ] // 中括号中间有空格以上的命令在命令行中执行,不能看到结果,需要用$?查看上一次执行的结果一种可以直接输出结果的方式: - * [ -d /root ] && ...
  • 今天小编就为大家分享一篇关于Shell脚本判断用户的输入内容,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 135,833
精华内容 54,333
关键字:

shell判断参数个数