Shell如何测试项目是否存在于列表中并影响变量中的结果

问题描述 投票:0回答:3

我有一个shell脚本:

#!/bin/bash
server=$1
modules=$2  #example of modules = moduleOne,moduleTwo,moduleThree   

is_selected=$( if [[ $modules == *"moduleThree"* ]]; then echo true; else echo false; fi)

我希望如果$ modules列表中出现“ moduleThree”,则可能会改变:

示例:

modules = moduleOne,moduleTwo,moduleThree   
modules = moduleOne,moduleThree,moduleFour
modules = moduleOne

就像我总是得到错误的结果一样>]

我该如何纠正?

有一个shell脚本:#!/ bin / bash服务器= $ 1个模块= $ 2#个模块的示例= moduleOne,moduleTwo,moduleThree is_selected = $(如果[[$模块== *“ moduleThree” *]];然后echo true;否则echo false; ...

linux bash shell scripting
3个回答
0
投票

如果有逗号分隔的字符串,请使用该字符串填充数组,然后扫描该数组以查找正确的模块。


0
投票

您似乎并未真正使用bash,因此您需要坚持使用POSIX兼容的结构。


0
投票

尝试将bash regex与=~一起使用

© www.soinside.com 2019 - 2024. All rights reserved.