拆分字符串并在bash中处理foreach匹配

拆分字符串并在bash中处理foreach匹配,bash,shell,Bash,Shell,我有一个bash变量 使用\u DOTNET=“a b c” 我需要为每个模式使用foreach和case(开关) 相似的 foreach x in USE_DOTNET switch(x) case a -> do something case b -> ... 在伪代码中,但我不知道如何在bash中实现它 #!/bin/bash USE_DOTNET="a b c" for x in ${USE_DOTNET} ; do case ${x} in a)

我有一个bash变量

使用\u DOTNET=“a b c”

我需要为每个模式使用
foreach
case
(开关)

相似的

foreach x in USE_DOTNET
switch(x)
case a -> do something
case b -> ...
在伪代码中,但我不知道如何在bash中实现它

#!/bin/bash

USE_DOTNET="a b c"

for x in ${USE_DOTNET} ; do
   case ${x} in 
      a) echo "found x="$x ;;
      b) echo "found b"
      c) echo "FOUND c"
      * ) echo "unexpected value found for x=$x" 1>&2
   esac
done
或者,根据@jordanm的评论,你可以试试

USE_DOTNET=(a b c)
for x in "${USE_DOTNET[@]}" ;do ...
IHTH


(FWIW,您的pcode看起来接近csh语法)

@jordanm,根据第一个示例,完全可以利用shell的分词功能。