在 bash 脚本中获取给定值的参数位置

在 bash 脚本中获取给定值的参数位置

如何使用参数的值来获取参数的位置?

例如:

myScript.sh hello world

echo "$1"
hello

我怎样才能获得'hello'的位置,在本例中是1?

答案1

虽然如果有更快、更简单的方法我不会感到惊讶,但类似这样的方法应该有效:

#!/bin/bash
pos=0
found=no
for arg ; do
    let pos++
    if [[ "$arg" == "hello" ]] ; then
        found=yes
        break
    fi
done
if [[ "$found" == "yes" ]] ; then
    echo "Found hello at position $pos"
else
    echo "hello not found"
fi

相关内容