Bash:如何从数字中提取数字

所以我在我的脚本中引入一个数字,就像这样:

./script 795

我想从该数字中提取每个数字并检查它是否小于7.如下所示:

if [ 7 -le 7 ]
then 
echo "The first digit is smaller than 7"

我想知道如何提取每个数字.

解决方法

您可以使用子字符串来提取脚本的第一个参数的第一个字符:

if [ ${1:0:1} -lt 7 ]; then
    echo "The first digit is smaller than 7"
fi

要为每个角色执行此操作,您可以使用循环:

for (( i = 0; i < ${#1}; ++i )); do
    if [ ${1:$i:1} -lt 7 ]; then
        echo "Character $i is smaller than 7"
    fi
done

请注意,我已将-le(小于或等于)更改为-lt(小于)以使您的消息正确无误.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...