linux shell脚本案例参数输入

时间:2016-12-11 15:31:30

标签: linux shell input parameters case

人。我想在linux中创建一个带有两个optinos的脚本,用户可以选择从多个文件中获取一些数据的方式。我试过这个:

while [ "$1" != "" ]; do

case $1 in
    -o | --opth) grep OPTH *dk.lis | sed 's/eV_3dk.lis:### OPTICAL THEOREM CROSS SECTION###  OPTH= /   /g' | sort -g; 
                 shift       ;;
    -i | --inel) grep REACT *dk.lis | sed 's/eV_3dk.lis:### INELASTIC CROSS SECTION###  REACT= /   /g' | sort -g;
                shift        ;;
esac
shift

完成

但是,脚本返回

  

while:表达式语法。

我知道这些函数在不同的脚本中运行良好,但我想只使用一个脚本。 有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

while [ "$1" != "" ] ; do

case $1 in
    -o | --opth) grep OPTH *dk.lis | sed 's/eV_3dk.lis:### OPTICAL THEOREM CROSS SECTION###  OPTH= /   /g' | sort -g; 
                 shift       ;;
    -i | --inel) grep REACT *dk.lis | sed 's/eV_3dk.lis:### INELASTIC CROSS SECTION###  REACT= /   /g' | sort -g;
                shift        ;;
esac
shift
done