1

我正在尝试读取保存在位置参数 $1 中的字符串的最后一个字符。到目前为止,我只知道如何对命名变量执行此操作,例如

echo "${str: -1}"

有人可以告诉我如何以 1 美元的价格做到这一点。认为这可以工作,但它没有。谢谢你。

echo "${\$1: -1}"
4

2 回答 2

2

微不足道

echo "${1: -1}"

编号的参数使用与任何其他变量完全相同的语法。

参数扩展${str: -1}是一个 Bash 扩展;如果您需要 POSIXsh兼容性,则需要两个步骤。

_=${1%?}
echo "${1#"$_"}"

第一个扩展返回删除了最后一个字符的字符串;然后,我们从前缀中删除这个字符串,只产生我们之前切掉的字符。

于 2020-10-24T13:45:32.307 回答
1

还有这个语法

echo ${1:(-1)}
于 2020-10-24T18:48:46.903 回答