Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 在UNIX中,如何调用用单引号括起来并用空格分隔的变量的值?_Variables_Unix_Invoke - Fatal编程技术网

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