bash - Bash 使用 cut 分隔 IP 和端口
问题描述
我正在尝试从设备列表中将 ip 和端口传递给我的 bash 脚本,但该脚本将其作为多个设备而不是端口读取。因此,在下面的示例中,它尝试远程登录到 4 个设备,因为它将端口作为设备读取。
for device in `cat device-list.txt`;
do
hostname=$(echo $device | cut -d : -f 1)
port=$(echo $port | cut -d : -f 2)
./script.exp $device $username $password $port ;
done
我正在尝试使用 cut 来获取端口并将其作为变量传递,因此我的 telnet 应该是例如 abc.abc.com 30040 作为一个设备等等。
# Telnet
spawn telnet $hostname $port
这是我的设备列表
abc.abc.com 30040
abc.abc.com 30041
我已经尝试在这个网站上搜索答案。
解决方案
我看到两个错误(第 4 行和第 5 行)。它应该是
for device in `cat device-list.txt`;
do
hostname=$(echo $device | cut -d : -f 1)
port=$(echo $device | cut -d : -f 2)
./script.exp $hostname $username $password $port ;
done
推荐阅读
- java - Mule JaxB 解组无法解析 ArrayList
- google-cloud-platform - 在 GCP 中覆盖请求超时
- python - 在 Jupyter 实验室/控制台中通过 Pylint/pyreverse 创建 UML 图表
- javascript - 使用 http 客户端从服务器获取值并将其用于后续步骤
- python - Python:不增加字符串内的整数值
- python - “utf-8”编解码器无法解码字节 - Python
- java - TreeMaps 会自动对键进行排序吗?
- javascript - 无法访问 Immutable.js 映射的属性
- elastic-stack - 基于监视器关闭/恢复的电子邮件警报
- ios - IBeacon 后台监控