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)}
我正在尝试读取保存在位置参数 $1 中的 字符串的最后一个字符。到目前为止,我知道如何只对命名变量执行此操作,例如
echo "${str: -1}"
谁能告诉我怎么做才 1 美元。认为这可以工作,但没有。谢谢。
echo "${$1: -1}"
琐碎
echo "${1: -1}"
带编号的参数使用与任何其他变量完全相同的语法。
参数扩展${str: -1}
是一个Bash扩展;如果你需要 POSIX sh
兼容性,你需要两个步骤。
_=${1%?}
echo "${1#"$_"}"
第一次扩展returns删除最后一个字符的字符串;然后,我们从前缀中删除这个字符串,只产生我们之前砍掉的字符。
也有这种语法
echo ${1:(-1)}