Linuxshell脚本中调用可执行程序命令行参数出现丢失错误

#!/bin/bash
If [$1 == "-i"]
then
TM_demo $1 $2
fi
If [$1 == "-f"]
then
TM_demo $1 $2 $3 $4
fi
在linux执行的时候./a.sh -f data,出现 [:丢失了"]",大神帮帮忙!

[和]不是shell的meta character,所以需要跟其它标识符用blank/space区分开来

if [ "$1" = "-i" ]

“【”和“】”两边都得有括号。

可以换成[[(两个[),这是shell内建的操作符,就没有空格的限制了。