Variables 在UNIX中,如何调用用单引号括起来并用空格分隔的变量的值?
现在我将这些值导出到其他脚本,同时调用其他脚本中的值。 我有以下代码:Variables 在UNIX中,如何调用用单引号括起来并用空格分隔的变量的值?,variables,unix,invoke,Variables,Unix,Invoke,现在我将这些值导出到其他脚本,同时调用其他脚本中的值。 我有以下代码: export a='123.gmail.com 345.gmail.com 123.facebook.com 345.facebook.com' export b='123.gmail.com 345.gmail.com' export c='123.facebook.com 345.facebook.com' 现在我的问题是: 此时,我需要检查hosts值是否保存变量b或变量c中的值, i、 e.我想检查主机是否持有
export a='123.gmail.com 345.gmail.com 123.facebook.com 345.facebook.com'
export b='123.gmail.com 345.gmail.com'
export c='123.facebook.com 345.facebook.com'
现在我的问题是:
此时,我需要检查hosts值是否保存变量b
或变量c
中的值,
i、 e.我想检查主机是否持有b
变量或c
变量值
有谁能告诉我我们是如何做到这一点的吗?通过
[[
您可以使用特殊的shell功能:
for hosts in { a }
do
它只循环b的一个值,而不是同时循环b的两个值。它循环a的值。对于所有a值,它将查看该值是否是完整字符串b的子字符串(b有两个值)。
*${host}*
两边都有通配符,因此当host是b.echo中的第一个或第二个字段时,它将匹配b“欢迎使用测试脚本"a='123.com 345.com 123.in 345.in'echo$a | wc-wb='123.com 345.com'echo$bc='123.in 345.in'host='123.com'echo“显示主机$host的值”如果[[“$b”=${host}]];则echo“${host}在b($b)中找到”;fi当我运行上述脚本时,它只检查b的一个值,而不是两个值
for host in $a; do
if [[ "$b" = *${host}* ]]; then
echo "${host} found in b ($b)";
fi
done