bashに-1番目の引数をエコーするように要求すると、hb1が印刷されます。
echo $-1
hb1
なぜ?何にアクセスしていますか?
答え1
最初の引数を印刷するように要求するものではありません$1
。
あなたが要求した特殊パラメータ:
-
(
$-
ハイフン)呼び出し時には、set組み込みコマンドを介して、またはシェル自体(-iオプションなど)で指定された現在のオプションフラグに展開されます。
したがって、あなたのオプションは次のとおりです。hb
1
これにより、追加した内容が印刷されることがわかります(それでhb1
)。
最後のパラメータを探している場合(-1パラメータが何を意味するのかわからない)、次のものを使用できます。シェルパラメータ拡張形式は次のとおりです。
$ set -- one two three
$ echo "${@: -1}"
three