小编Due*_*nna的帖子

Bash的新手 - 不断出现非法选项错误

我是ubuntu和bash脚本的新手,想知道为什么我在使用GETOPTS时会遇到这个错误.

这是我用来运行它的代码.

sh /home/ubuntu/Desktop/test.sh -f /home/u/Desktop/ -p 'TEST'
Run Code Online (Sandbox Code Playgroud)

我想我正在调用脚本,它应该使用grap搜索我作为搜索词输入的术语.但由于某种原因,它没有.对于使用grep工作时我能做些什么的任何建议也将不胜感激,谢谢.

#!/bin/bash

valid=0
file_arg=""
display_help=""
column=""
pattern=""

while getopts f:d:s:m: opt
do
    case "$opt" in
        d)  display_help=$OPTARG
            ;;
        f)  file_arg=$OPTARG
            ;;
        c)  column=$OPTARG
            ;;
        p)  pattern=$OPTARG
            ;;
        *)  valid=1
            break
            ;;
    esac
done

if [ $valid -eq "0" ]
then
    if [ $pattern != "" ]
    then
        cat $file_arg | grep $pattern
    else
        cat $file
    fi
else
    echo -n "Usage: FILE -f <name> | COLUMN -> -c <name> | HELP -> -d …
Run Code Online (Sandbox Code Playgroud)

bash shell ubuntu-13.04

5
推荐指数
2
解决办法
9314
查看次数

标签 统计

bash ×1

shell ×1

ubuntu-13.04 ×1