linux - 如何用shell脚本读取变量中的多个值

标签 linux shell

在分隔的变量空间中读取多个值

我有一个存储命令输出的变量。有时命令的输出是单个单词,有时输出命令是多个单词,用空格分隔

例子

MAC=  00:1c:c4:5b:6e:fe 00:1c:c4:5b:6e:fe 00:1c:c4:5b:6e:fe 00:1c:c4:5b:6e:fe
echo $MAC

我想使用如下的 if 语句

如果 $mac 有多个单词则 echo not ok else echo ok

提前致谢

最佳答案

MAC= 后不应该有空格。

尝试

awk '{print (NF>1?"not ":"")"ok"}'  <<<$MAC

例如

kent$  MAC="00:1c:c4:5b:6e:fe 00:1c:c4:5b:6e:fe 00:1c:c4:5b:6e:fe 00:1c:c4:5b:6e:fe"

kent$  awk '{print (NF>1?"not ":"")"ok"}' <<<$MAC                                   
not ok

关于linux - 如何用shell脚本读取变量中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16856052/

相关文章:

bash - 在 .environment 文件中定义一个变量并在 .sh 文件中使用(引用)该变量

c - 自动查找系统调用签名

linux - 移动除一个以外的所有文件夹

linux - 强制 lshosts 命令返回 "maxmem"和 "maxswp"参数的兆字节

linux - 比较 2 个文件夹并查找具有不同字节数的文件

linux - 在linux中的多个目录中的文件上运行shell脚本

linux - 在哪里放置 shell 脚本/函数? .bashrc 还是 bin?

linux - `sed: -e expression #1, char 1: unknown command: ` , '`

linux - 根据文件名将平面文件系统移动、重命名到目录

c - 如何将返回的函数值分配给 const 全局变量