bash - 为什么 `($(hostname -I))` 会扩展到 IP 列表的第一个单词?
问题描述
我正在使用以下构造来获取主机的第一个 IP。
firstip=($(hostname -I))
hostname 命令返回我盒子的所有 IP,但不是 127.xxx,这正是我想要的。我使用返回的第一个 IP。
但我不明白我正在使用的语法。根据 bash 手册()
计算括号内的表达式并返回结果。分词不适用于作业。
我原以为它会扩展到所有 IP,但它会返回第一个单词(IFS 设置为默认值,也就是空白)。如果我不使用括号,firstip
则分配 IP 列表。
假设variable=(list)
将第一个单词分配给list
to是否安全variable
?这在 bash 手册页中的解释是什么?
解决方案
推荐阅读
- javascript - 为什么我的数组中有空项目,我该如何摆脱它们?
- three.js - 如何实现褪色反射?
- c# - 当 IDENTITY_INSERT 设置为 OFF 时,Fluent API 无法为表中的标识列插入显式值
- c# - 没有元素从另一个类添加到 ObservableCollection
- android - 在 onChildChanged 中调用 ArrayList set 方法创建具有更新记录的重复记录
- c++ - 基于网格的流体模拟错误
- c# - 无法在 MVC 中下载大于 2 GB 的文件
- python - Discord.py 获取消息嵌入
- ios - 当tableview中的行被选中时,tableview恢复到初始状态
- typescript - 如何显式声明某个 Phaser 类型的变量?