传递特殊字符作为参数

时间:2017-10-08 21:14:28

标签: c

我有这段代码:

strcat(arg1, argv[1]);
printf("%s\n", arg1);

它运作良好,但是当我传递像“$$”这样的参数时,我得到输出中的数字,而不是美元符号。什么是最简单的解释和解决方案?

例如

./main.bin "$$$"

输出:

8789

1 个答案:

答案 0 :(得分:1)

在bash之类的unix shell中,$$是一个包含当前进程ID的变量。使用'$$'\$\$来阻止shell变量扩展。