人。我想在linux中制作一个带有两个选项的脚本,以便用户选择从多个文件中获取一些数据的方式。我在尝试:

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:表达式语法。
我知道这些函数在不同的脚本中工作得很好,但是我只想对这两个脚本使用一个脚本。
有人能帮我吗?

最佳答案

试试这个:

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

关于linux - linux shell脚本大小写参数输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41087840/

10-10 23:02