Bash 脚本,比较数字

标签 bash shell ubuntu

$ip_choice是否可以在不设置的情况下与数字进行比较?

#!/bin/bash
ip_choice=999
while ! (( $ip_choice <= 233 ))
  do 
    read -p "Enter a valid IP (1-256): " ip_choice
  done

它是这样工作的——只是我想知道是否有更优雅的可能性:-)。

最佳答案

#!/bin/bash

while read -r -p "Enter a valid IP (1-256): " ip_choice; do
     (( ip_choice >= 1 && ip_choice <= 256 )) && break
done    
echo "${ip_choice}"

$ ./t.sh
Enter a valid IP (1-256): -1
Enter a valid IP (1-256): 0
Enter a valid IP (1-256): 257
Enter a valid IP (1-256): abc
Enter a valid IP (1-256): 20
20

关于Bash 脚本,比较数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23079536/

相关文章:

c - 需要帮助在 bash 终端上使用 -wall -pedantic -ansi 标志执行二进制文件

ubuntu - 使用 apt-get 获取特定版本的 Eclipse

linux - 检测参数的数量和传递给 bash 的值

c++ - QMainWindow : No Such File Or Directory

ubuntu - 在 debian 包的 preinst 脚本中定义用户

linux - bash shell 自动创建用户 - adduser

Git 不会添加某些 glob

Bash 在命令行上工作,但不在 perl 脚本中工作

linux - 用于识别已启动并正在运行的接口(interface)的命令行 shell

javascript - 如何通过网页按钮onclick执行linux脚本?