Bashスクリプトで指定された値のパラメータ位置を取得する

Bashスクリプトで指定された値のパラメータ位置を取得する

その値を使用してパラメータの位置を取得するには?

たとえば、

myScript.sh hello world

echo "$1"
hello

この場合、1人の「hello」の場所をどのように取得できますか?

ベストアンサー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

おすすめ記事