>>>有时候我们需要从命令行获取脚本的参数个数,如果不满足,那么退出不再继续执行该脚本。

常用脚本列举:

  1. bash与shell脚本
  2. csh脚本
  3. expect脚本
  4. tcl脚本
  5. perl脚本
  • bash或者shell脚本:使用 “$#” 返回参数个数,定义变量使用 first_arg=$1 无需使用set。【注意】shell脚本自身只定义了9个位置变量,如果想要使用多于9个位置变量(参数个数),请参考博主的另一篇博文

    #!/bin/sh
    
    if [ $# -eq 0 -o $# -gt 1 ];
    then
    echo " Usage: Need to Enter One Args! "
    exit 1  
    else 
    ...
    fi
    
  • csh脚本:使用 " $#argv" 判断输入参数个数,csh中使用set定义变量。

    #!/bin/csh
    if($#argv < 2)then
    	echo "Hello World!"
    endif
    set first_arg=$1                
    echo "First Arguement : $first_arg."
    
  • expect脚本:使用 “$argc” 返回参数个数,该脚本中的 send_user 与shell中的 echo 功能一致。expect脚本的安装与使用请参考这里

    #!/usr/bin/expect
    if {$argc <= 1 | $argc > 2} {
            send_user "========================= Usage ========================= \n"
            send_user "Usage: Enter one test case! e.g. ./Run_spike add 10000.   \n"
            send_user "Usage: 'add'is the machine code ,and 10000 is exec cycle. \n"
            send_user "========================================================= \n"
            exit 1
    } else {
    }
    
  • tcl脚本:使用$argc获取参数个数

    #!/usr/bin/tclsh
    
    while {$argc > 0} {
    	puts "Arguement Exist."
    	exit 1
    }
    

PS:本博客持续更新中,在力所能及的范围内列举常用脚本如何判断命令行参数个数。

Logo

更多推荐