如何取消设置位置参数?

Tyi*_*ilo 12 shell parameter

我该怎么做呢:

set foo bar baz
unset # Something else here
echo $# # Should ouput 0
Run Code Online (Sandbox Code Playgroud)

通过这样做set ""$#仍将是 1 而不是 0。

Tyi*_*ilo 17

好吧,这只是愚蠢,我发现使用set --会起作用。


小智 6

使用以下命令轻松取消设置所有位置参数:

shift $#
Run Code Online (Sandbox Code Playgroud)

要删除前 3 个位置参数:

shift 3
Run Code Online (Sandbox Code Playgroud)

Shift “弹出”前 N 个位置参数。通过使用 $# 我们得到位置参数的总数。该命令因此弹出所有位置参数。