Dav*_*oyd 2 centos shell-script
如何从数字中获取第一个数字?例如,25 - 仅从 25 中获取“2”。
这是我尝试过的:
echo -n "Enter age: "
read age
echo $(s:0:1)
Run Code Online (Sandbox Code Playgroud)
Fre*_*ddy 22
您使用了错误的变量,s而不是age使用大括号进行参数扩展${...}:
read -p "Enter age: " age
echo "${age:0:1}"
Run Code Online (Sandbox Code Playgroud)
最基本的和 POSIX 兼容的方式(假设没有符号)是:
echo "${age%"${age#?}"}"
Run Code Online (Sandbox Code Playgroud)
在某些 shell(bash、ksh、zsh)中:
echo "${age:0:1}"
Run Code Online (Sandbox Code Playgroud)
如果该值可能包含符号,请先将其删除:
$ age=+23
$ age=${age#[+-]}
$ echo "${age%"${age#?}"}"
2
Run Code Online (Sandbox Code Playgroud)