Bash
Bash echo $-1 列印 hb1。為什麼?
如果我讓 bash 回顯第 -1 個參數,它會列印 hb1:
echo $-1 hb1
為什麼?它在訪問什麼?
您不是要求它列印第一個參數,那就是:
$1
。你要的是一個特殊的參數:
-
> > (
$-
, 一個連字元。) 擴展為呼叫時指定的目前選項標誌,由 set 內置命令,或由 shell 本身設置的那些(例如 -i 選項)。 > > >所以你的選擇是:
hb
然後您會看到
1
您添加的內容隨後被列印(因此hb1
)。如果您正在尋找最後一個參數(不確定這是否是您所說的 -1 參數),您可以使用以下形式的Shell 參數擴展:
$ set -- one two three $ echo "${@: -1}" three