シェルスクリプトがありますが、最後のパラメータを使用したいと思います。
#!/bin/bash
echo My last param is #somehow put it here
私が試したことは次のとおりです。
echo $$#
echo ${$#}
echo ${(($#))}
残念ながら、それは動作しませんでした。
特に私のオプションが機能しない理由を理解したいと思います。デュアルエクステンションのようなことをしたいです。
より広い意味で最後のN番目のパラメータにアクセスする方法を知りたいです。どうやってこれを達成できますか?
ベストアンサー1
bash
スクリプトからパラメータを取得するには、スライスを使用できます。
#!/bin/bash
# Get 3rd element from the end
from_end1=3
# Get last element
from_end2=1
# Get slice of array [end - from_end1 : end ] of length 1
echo "${@: -$from_end1: 1}"
echo "${@: -$from_end2: 1}"
これを使用してN番目の要素を取得することもできます。
# Get 2nd element
from_beginning=2
echo "${@: $from_beginning: 1}"
長さを確認してください。プログラム名または空の文字列を返すことがあります。