如果linux shell脚本中的条件实现

时间:2018-01-04 09:36:33

标签: linux shell

我在linux中的文件夹路径“files / data”中有100多个文件夹的列表,其中我已经有了基本脚本“list.sh”。

for d in files/data/*
do
echo $d
done

我跑的时候......

sh list.sh

它列出了“files / data”文件夹中所有100多个文件夹(亚马逊,苹果,可乐,百事可乐......等)。但我正在寻找一些if命令实现来实现这一目标。

当我打电话给...

sh list.sh --brand=apple

那么它应该只列出“苹果”,如果我打电话......

sh list.sh --brand=all

然后它应该列出所有100多个文件夹(亚马逊,苹果,可乐,百事可乐......等)。

感谢。

1 个答案:

答案 0 :(得分:1)

我已编辑您的脚本

用法:

  

./ script.sh all - 显示文件夹路径中的所有目录

     

./ script.sh apple - show apple dirs

     

因为使用了grep。

,所以不能使用没有参数的脚本

希望所有你需要的东西

#!/bin/bash

brand=$1


function ShowDirs()
{
for d in files/data/*
do
    if ! [[ $brand == all ]];
     then
        echo $d | grep $brand
    else
        echo $d
    fi
done
}

ShowDirs