Bash - 如何获取位置参数的最后一个字符?

Bash - how to get a last character of a positional Parameter?

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

echo "${str: -1}"

谁能告诉我怎么做才 1 美元。认为这可以工作,但没有。谢谢。

echo "${$1: -1}"

琐碎

echo "${1: -1}"

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

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

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

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

也有这种语法

echo ${1:(-1)}