Bash的新手 – 不断出现非法选项错误
发布时间:2020-12-15 22:52:32 所属栏目:安全 来源:网络整理
导读:我是ubuntu和bash脚本的新手,想知道为什么我在使用GETOPTS时会遇到这个错误. 这是我用来运行它的代码. sh /home/ubuntu/Desktop/test.sh -f /home/u/Desktop/ -p 'TEST' 我想我正在调用脚本,它应该使用grap搜索我作为搜索词输入的术语.但由于某种原因,它没有
我是ubuntu和bash脚本的新手,想知道为什么我在使用GETOPTS时会遇到这个错误.
这是我用来运行它的代码. sh /home/ubuntu/Desktop/test.sh -f /home/u/Desktop/ -p 'TEST' 我想我正在调用脚本,它应该使用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 | PATTERN -> -p <expression>" fi 解决方法
在getopts中你没有指定p选项你只有f:d:s:m:options.
我认为你的意思是p而不是m,反之亦然. 它应该是f:d:s:m:p:或f:d:s:p: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |