如何计算和检查传递的参数?

emu*_*rad 6 ruby bash command-line

如何将以下Ruby代码翻译为Bash?

if ARGV.length == 0
    abort "\nError: The project name is required. Aborting...\n\n"
elsif ARGV.length > 2
    abort "\nError: The program takes two arguments maximum. Aborting...\n\n"
end
Run Code Online (Sandbox Code Playgroud)

Set*_*son 5

#!/bin/bash
USAGE="$0: <project name> [subproject attribute]"
if [ $# -lt 1 ]; then echo -e "Error: The project name is required.\n$USAGE" >&2; exit 1; fi
if [ $# -gt 2 ]; then echo -e "Error: Two arguments maximum.\n$USAGE" >&2; exit 1; fi
Run Code Online (Sandbox Code Playgroud)