나는 다음을 가지고 있습니다
#!/bin/bash
function f1 ()
{
echo "${@:1:-2}"
}
f1 1 2 3 4 5 6
1 2 3 4 5
man bash
사용할 때 알려주려면 에코가 필요합니다 @
. 음수 길이를 사용할 수 없습니다.
나는 계산( )을 사용했는데 "${@:1:$((${#@}-1))}"
, 이는 나에게 정통적이지 않은 것 같습니다.
출력에서 마지막 매개변수를 어떻게 제외할 수 있나요?
답변1
echo "${@:1:$#-1}"
길이 인수는 이미 산술적 맥락에 있으므로 필요하지 않으며 $(( ... ))
인수 수는 에 의해 제공되므로 on과 동등한 것을 $#
시도할 필요가 없습니다 .${#...[@]}
$@