开发者

How to count and check passed arguments?

How can I transl开发者_运维百科ate the following Ruby code to 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


#!/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


The following should be what you need:

#!/bin/bash
if [ $# -eq 0 ]; then
  echo -e "\nError: The project name is required. Aborting...\n\n"
  exit 1
elif [ $# -gt 2 ]; then
  echo -e "\nError: The program takes two arguments maximum. Aborting...\n\n"
  exit 1
fi

The TLDP bash guide is very good if you are looking to learn bash, see TDLP Bash guide.


Maybe:

#!/bin/bash

function functionName {
if [ $# = 0 ]
then echo "\nError: The project name is required. Aborting...\n\n"; exit 1
fi

if [ $# \> 2 ]
then echo "\nError: The program takes two arguments maximum. Aborting...\n\n"; exit 1
fi

}

functionName a
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜