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

时间:2017-07-25 06:02:43

标签: linux bash shell sh

脚本应该将值列表传递给参数,并且应该验证是否传递了一个参数而没有列表。 例如 ./script --arg嗨 脚本应该执行--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

1 个答案:

答案 0 :(得分:0)

argsCount 如果你想检查传递的参数数量,这里就可以了。在下面的例子中,我传递3个参数并验证参数count是否等于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