关于Bash Script中的Switch Case

时间:2015-10-21 04:05:21

标签: linux bash

我是bash脚本中的新手,我想创建一个没有“break”的开关案例,如下面的java代码

 #include<stdio.h>
 #include<stdlib.h>

 int intcmp(const void *a,const void *b ){
 int *A = (int*)a;
 int *B = (int*)b;
 if( A[0]>B[0])
    return -1;
 if( A[0]<B[0])
    return 1;
 if( A[0]==B[0])
   return 0;
}
int main()
{
    char st[100];
    int ar[26][2]={0},size=0,i;
    scanf("%s",&st);

    for(i=0;st[i]!='\0';i++)
    {
       ar[st[i]-97][1]=st[i];
       ar[st[i]-97][0]++;
    }
    qsort(ar,26,sizeof(int)*2,intcmp);
    for(i=0;i<26;i++)
    {
       while(ar[i][0]--)
       printf("%c",ar[i][1]);
    }
 return 0;
 }

choice = 1

switch(choice) {
    case 1: 
           System.out.println("1");
    case 2:
           System.out.println("2");
}

所以...我怎样才能在bash脚本中这样做:(

1 个答案:

答案 0 :(得分:1)

bash 4之前,你不能;最多会执行case语句中的一个命令块。 bash 4引入了;&案例终止符,导致了堕落。

case $choice in
    1) echo 1 ;&
    2) echo 2 ;;
esac