拆分字符串并在bash中处理foreach匹配
我有一个bash变量拆分字符串并在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)
使用\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的分词功能。