问题描述
我正在尝试读取保存在位置参数$ 1中的字符串的最后一个字符。到目前为止,我只知道如何对命名变量执行此操作,例如
echo "${str: -1}"
有人可以建议我如何花1美元做这件事。以为这可以工作,但是没有。谢谢。
echo "${\$1: -1}"
解决方法
琐碎
echo "${1: -1}"
带编号的参数使用与其他任何变量完全相同的语法。
参数扩展${str: -1}
是Bash扩展;如果需要POSIX sh
兼容性,则需要两个步骤。
_=${1%?}
echo "${1#"$_"}"
第一个扩展名返回删除了最后一个字符的字符串;然后,我们从前缀中删除此字符串,只产生我们之前砍掉的字符。
,也有这种语法
echo ${1:(-1)}