Bash脚本:获取不包括选项的输入参数的个数



我正在创建一个bash脚本来执行一些文件/文件夹比较。

我需要用户提供两个文件/文件夹路径和一些选项,如果需要(任何不同的应该关闭程序)。

我想知道怎样才能"抓到"不包括选项的输入参数的个数。

下面是一些示例代码(文件名为foo):

#!/bin/bash
set -e
Help()
{
# Display Help
echo -e "I am the help menu"
}
############################################################    
# Main program                                             

# Process the input options. 
while getopts ":he" option; do
case $option in
h) # display Help
Help
exit;;
e) # Exclude Files
echo -e "e option was selected";;
?) # Invalid option
echo -e "Error: Invalid option"
exit;;
esac
done
# Code to filter the input in order to have only two user inputs + options
file1=$1;
file2=$2;
echo -e file1
echo -e file2

因此,如果用户使用:foo -e "someparameter" file1 file2,它应该工作

如果:foo file1给出一个错误

我该怎么做?

致以最亲切的问候if:foo file1 file2 file3也应该给出一个错误。

在手册页中有解释。

shift $(($OPTIND - 1))
printf "Remaining arguments are: %sn$*"

使用$#检查参数的个数

相关内容

  • 没有找到相关文章

最新更新