下面的linux shell脚本中的 $#和-ne是什马意思吗?求指教。

if [ $# -ne 2 ]; then
echo "Usage: $0 match_text filename"

exit 1

fi
match_text=$1
filename=$2
grep -q "$match_text" $filename

$# 表示运行脚本时所带的参数数目,不含脚本文件名自身。
这里的 "Usage: $0 match_text filename" 也说明了运行此脚本需要跟两个参数。

-ne 表示 not equal,即 不相等。
也就是说,脚本参数不等于2,就提示正确的使用方法并用exit 1退出脚本执行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-02
$# 这个脚本的参数个数
举例说:
脚本名称叫test.sh 入参三个: 1 2 3
运行test.sh 1 2 3后,$#为3(参数数量)

-ne 不等于,如:if [ "$a" -ne "$b" ]本回答被提问者和网友采纳
相似回答