Linux 如何在脚本中将值列表传递给shell参数

Linux 如何在脚本中将值列表传递给shell参数,linux,bash,shell,sh,Linux,Bash,Shell,Sh,脚本应该将值列表传递给参数,并且应该验证是否传递了一个参数而没有列表。 例如 /脚本--arg hi 脚本应该执行--arg命令并添加/删除hi ./script--arg“你好” 在这种情况下,如果用户向arg1输入上述值,则没有传递给arg的参数如何给出异常或通过错误 function test() { filename=$1 echo $filename case "$2" in a) echo $3 >> $filename

脚本应该将值列表传递给参数,并且应该验证是否传递了一个参数而没有列表。 例如 /脚本--arg hi 脚本应该执行--arg命令并添加/删除hi

./script--arg“你好” 在这种情况下,如果用户向arg1输入上述值,则没有传递给arg的参数如何给出异常或通过错误

 function test()  {
filename=$1
echo $filename
    case "$2" in
    a)
        echo $3 >> $filename
        echo "add "
        # cat $filename
        shift 
        shift
    ;;
exit
}

test $fileName $3 $4

argscont如果您想检查传递的参数的数量,这里将执行此技巧。在下面的示例中,我将传递3个参数,并验证参数计数是否等于3,如果不等于3,它将退出脚本

#!/usr/bin/env bash

set -ex
set -o pipefail

copyConfigFrom=$1
hostConfigFileName=$2
hostnameEmail=$3

argsCount="$#"

if [ "$argsCount" -ne 3 ]; then
  echo "Usage: $0 copyConfigFrom hostConfigFileName hostnameEmail"
  exit 1
fi