1

我有 bash 变量

USE_DOTNET="a b c"

我需要去为每种模式foreach USE_DOTNET设置一些case(开关)。

一样

foreach x in USE_DOTNET
switch(x)
case a -> do something
case b -> ...

在伪代码中,但我不知道如何在 bash 中实现它?

4

1 回答 1

2
#!/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 语法)

于 2013-01-22T05:06:39.513 回答