【问题标题】:How to get this command working on Alpine Linux?如何让这个命令在 Alpine Linux 上运行?
【发布时间】:2022-01-19 17:31:50
【问题描述】:

在 Ubuntu 上,我可以打印特定范围内的地址列表(给定一个基地址),如下所示:

seq -s " " -f "1.1.1.%g" 1 255

如何在 Alpine 上完成相同的任务?相比之下,BusyBox 提供的seq 非常有限,没有给我格式选项。

【问题讨论】:

  • 有趣的是,请注意 1.1.1.1 实际上是截至 2018 年的有效公共地址,将其用于内部网络可能会导致某些设备出现问题 en.wikipedia.org/wiki/1.1.1.1
  • 是的,这只是一个解释问题的示例地址

标签: linux alpine


【解决方案1】:

我在 alpine 中使用 bash 找到了更直接的解决方案:

apk add bash
echo 1.1.1.{1..255}

【讨论】:

  • 对于简单的案例来说一目了然!
【解决方案2】:

如果您有 Python 3,则可以使用 ipaddress module 在网络中生成地址,这实际上可能更适合您的需求,因为它完全理解掩码(例如,这里它不包括 .255,因为它是广播地址)

如果您希望在每一行或其他地方使用分隔符,也可以将分隔符从 " " 更改为 "\n"

% python3 -c 'import ipaddress;print(" ".join(str(x) for x in ipaddress.ip_network("1.1.1.0/24").hosts()))'
1.1.1.1 1.1.1.2 1.1.1.3 1.1.1.4 1.1.1.5 1.1.1.6 1.1.1.7 1.1.1.8 1.1.1.9 1.1.1.10 1.1.1.11 1.1.1.12 1.1.1.13 1.1.1.14 1.1.1.15 1.1.1.16 1.1.1.17 1.1.1.18 1.1.1.19 1.1.1.20 1.1.1.21 1.1.1.22 1.1.1.23 1.1.1.24 1.1.1.25 1.1.1.26 1.1.1.27 1.1.1.28 1.1.1.29 1.1.1.30 1.1.1.31 1.1.1.32 1.1.1.33 1.1.1.34 1.1.1.35 1.1.1.36 1.1.1.37 1.1.1.38 1.1.1.39 1.1.1.40 1.1.1.41 1.1.1.42 1.1.1.43 1.1.1.44 1.1.1.45 1.1.1.46 1.1.1.47 1.1.1.48 1.1.1.49 1.1.1.50 1.1.1.51 1.1.1.52 1.1.1.53 1.1.1.54 1.1.1.55 1.1.1.56 1.1.1.57 1.1.1.58 1.1.1.59 1.1.1.60 1.1.1.61 1.1.1.62 1.1.1.63 1.1.1.64 1.1.1.65 1.1.1.66 1.1.1.67 1.1.1.68 1.1.1.69 1.1.1.70 1.1.1.71 1.1.1.72 1.1.1.73 1.1.1.74 1.1.1.75 1.1.1.76 1.1.1.77 1.1.1.78 1.1.1.79 1.1.1.80 1.1.1.81 1.1.1.82 1.1.1.83 1.1.1.84 1.1.1.85 1.1.1.86 1.1.1.87 1.1.1.88 1.1.1.89 1.1.1.90 1.1.1.91 1.1.1.92 1.1.1.93 1.1.1.94 1.1.1.95 1.1.1.96 1.1.1.97 1.1.1.98 1.1.1.99 1.1.1.100 1.1.1.101 1.1.1.102 1.1.1.103 1.1.1.104 1.1.1.105 1.1.1.106 1.1.1.107 1.1.1.108 1.1.1.109 1.1.1.110 1.1.1.111 1.1.1.112 1.1.1.113 1.1.1.114 1.1.1.115 1.1.1.116 1.1.1.117 1.1.1.118 1.1.1.119 1.1.1.120 1.1.1.121 1.1.1.122 1.1.1.123 1.1.1.124 1.1.1.125 1.1.1.126 1.1.1.127 1.1.1.128 1.1.1.129 1.1.1.130 1.1.1.131 1.1.1.132 1.1.1.133 1.1.1.134 1.1.1.135 1.1.1.136 1.1.1.137 1.1.1.138 1.1.1.139 1.1.1.140 1.1.1.141 1.1.1.142 1.1.1.143 1.1.1.144 1.1.1.145 1.1.1.146 1.1.1.147 1.1.1.148 1.1.1.149 1.1.1.150 1.1.1.151 1.1.1.152 1.1.1.153 1.1.1.154 1.1.1.155 1.1.1.156 1.1.1.157 1.1.1.158 1.1.1.159 1.1.1.160 1.1.1.161 1.1.1.162 1.1.1.163 1.1.1.164 1.1.1.165 1.1.1.166 1.1.1.167 1.1.1.168 1.1.1.169 1.1.1.170 1.1.1.171 1.1.1.172 1.1.1.173 1.1.1.174 1.1.1.175 1.1.1.176 1.1.1.177 1.1.1.178 1.1.1.179 1.1.1.180 1.1.1.181 1.1.1.182 1.1.1.183 1.1.1.184 1.1.1.185 1.1.1.186 1.1.1.187 1.1.1.188 1.1.1.189 1.1.1.190 1.1.1.191 1.1.1.192 1.1.1.193 1.1.1.194 1.1.1.195 1.1.1.196 1.1.1.197 1.1.1.198 1.1.1.199 1.1.1.200 1.1.1.201 1.1.1.202 1.1.1.203 1.1.1.204 1.1.1.205 1.1.1.206 1.1.1.207 1.1.1.208 1.1.1.209 1.1.1.210 1.1.1.211 1.1.1.212 1.1.1.213 1.1.1.214 1.1.1.215 1.1.1.216 1.1.1.217 1.1.1.218 1.1.1.219 1.1.1.220 1.1.1.221 1.1.1.222 1.1.1.223 1.1.1.224 1.1.1.225 1.1.1.226 1.1.1.227 1.1.1.228 1.1.1.229 1.1.1.230 1.1.1.231 1.1.1.232 1.1.1.233 1.1.1.234 1.1.1.235 1.1.1.236 1.1.1.237 1.1.1.238 1.1.1.239 1.1.1.240 1.1.1.241 1.1.1.242 1.1.1.243 1.1.1.244 1.1.1.245 1.1.1.246 1.1.1.247 1.1.1.248 1.1.1.249 1.1.1.250 1.1.1.251 1.1.1.252 1.1.1.253 1.1.1.254

【讨论】:

  • 感谢您的回答,但我认为仅使用 echo 更简单,不需要安装 python。
  • 任何时候都可以!但是,这对于更细微的示例非常实用,并且可以直接从现有接口计算,例如ipaddress.ip_interface("172.16.100.18/28").network.hosts() (.17-.30)
猜你喜欢
  • 2011-04-23
  • 2019-05-24
  • 2014-03-29
  • 2019-05-20
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
  • 2014-01-16
  • 1970-01-01
相关资源
最近更新 更多