Bret Joseph Asked: 2018-12-11 02:56:49 +0800 CST2018-12-11 02:56:49 +0800 CST 2018-12-11 02:56:49 +0800 CST 我如何回显 bash 中除了最后一个参数之外的所有参数? 772 我有以下 #!/bin/bash function f1 () { echo "${@:1:-2}" } f1 1 2 3 4 5 6 我需要回显1 2 3 4 5 man bash告诉我,当我使用时,@我不能使用负长度。 我求助于使用计算("${@:1:$((${#@}-1))}"),这对我来说似乎是不正统的。 如何从输出中排除最后一个参数? bash parameter 1 个回答 Voted Best Answer Kusalananda 2018-12-11T03:19:25+08:002018-12-11T03:19:25+08:00 echo "${@:1:$#-1}" length 参数已经在算术上下文中,因此不需要$(( ... )),并且参数的数量由 给出,$#因此无需尝试使用等价的${#...[@]}on $@。
length 参数已经在算术上下文中,因此不需要
$(( ... ))
,并且参数的数量由 给出,$#
因此无需尝试使用等价的${#...[@]}
on$@
。