C++ getopt命令行参数与linux shell 系统默认变量($#,$0…)冲突
错误截图
如图输入命令行参数发现被字符串发生了转义,为此debug了好久,最后才发现是和shell系统默认变量冲突了。
对命令行参数:
一方面要养成编程好习惯,参数加引号
另一方面是避免$符号的使用。
linux shell 默认变量
$# // --> 一共有几个参数
$0 // --> 该运行程序的名字是什么
$@ 或 $* // --> 所有参数的值
$n // --> 第n个参数是什么
参考资料
linux shell 默认变量
C++中的getopt的用法